diff options
| author | Cyril Cohen | 2019-10-16 11:26:43 +0200 |
|---|---|---|
| committer | Cyril Cohen | 2019-10-16 11:26:43 +0200 |
| commit | 6b59540a2460633df4e3d8347cb4dfe2fb3a3afb (patch) | |
| tree | 1239c1d5553d51a7d73f2f8b465f6a23178ff8a0 /docs/htmldoc/mathcomp.field.galois.html | |
| parent | dd82aaeae7e9478efc178ce8430986649555b032 (diff) | |
removing everything but index which redirects to the new page
Diffstat (limited to 'docs/htmldoc/mathcomp.field.galois.html')
| -rw-r--r-- | docs/htmldoc/mathcomp.field.galois.html | 985 |
1 files changed, 0 insertions, 985 deletions
diff --git a/docs/htmldoc/mathcomp.field.galois.html b/docs/htmldoc/mathcomp.field.galois.html deleted file mode 100644 index 76c8ddc..0000000 --- a/docs/htmldoc/mathcomp.field.galois.html +++ /dev/null @@ -1,985 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" -"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<link href="coqdoc.css" rel="stylesheet" type="text/css" /> -<title>mathcomp.field.galois</title> -</head> - -<body> - -<div id="page"> - -<div id="header"> -</div> - -<div id="main"> - -<h1 class="libtitle">Library mathcomp.field.galois</h1> - -<div class="code"> -<span class="comment">(* (c) Copyright 2006-2016 Microsoft Corporation and Inria. <br/> - Distributed under the terms of CeCILL-B. *)</span><br/> - -<br/> -</div> - -<div class="doc"> - This file develops some basic Galois field theory, defining: - splittingFieldFor K p E <-> E is the smallest field over K that splits p - into linear factors. - kHom K E f <=> f : 'End(L) is a ring morphism on E and fixes K. - kAut K E f <=> f : 'End(L) is a kHom K E and f @: E == E. - kHomExtend E f x y == a kHom K <tt>E; x</tt> that extends f and maps x to y, - when f \is a kHom K E and root (minPoly E x) y. - -<div class="paragraph"> </div> - - splittingFieldFor K p E <-> E is splitting field for p over K: p splits in - E and its roots generate E from K. - splittingFieldType F == the interface type of splitting field extensions - of F, that is, extensions generated by all the - algebraic roots of some polynomial, or, - equivalently, normal field extensions of F. - SplittingField.axiom F L == the axiom stating that L is a splitting field. - SplittingFieldType F L FsplitL == packs a proof FsplitL of the splitting - field axiom for L into a splitingFieldType F, - provided L has a fieldExtType F structure. - [splittingFieldType F of L] == a clone of the canonical splittingFieldType - structure for L. -[splittingFieldType F of L for M] == an L-clone of the canonical - splittingFieldType structure on M. - -<div class="paragraph"> </div> - - gal_of E == the group_type of automorphisms of E over the - base field F. - 'Gal(E / K) == the group of automorphisms of E that fix K. - fixedField s == the field fixed by the set of automorphisms s. - fixedField set0 = E when set0 : {set: gal_of E} - normalField K E <=> E is invariant for every 'Gal(L / K) for every L. - galois K E <=> E is a normal and separable field extension of K. - galTrace K E a == \sum(f in 'Gal(E / K)) (f a). - galNorm K E a == \prod(f in 'Gal(E / K)) (f a). - -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Set Implicit Arguments</span>.<br/> - -<br/> -<span class="id" title="keyword">Reserved Notation</span> "''Gal' ( A / B )"<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 35, <span class="id" title="var">format</span> "''Gal' ( A / B )").<br/> - -<br/> -<span class="id" title="keyword">Import</span> <span class="id" title="var">GroupScope</span> <span class="id" title="var">GRing.Theory</span>.<br/> -<span class="id" title="keyword">Local Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">ring_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="SplittingFieldFor"><span class="id" title="section">SplittingFieldFor</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="SplittingFieldFor.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="SplittingFieldFor.L"><span class="id" title="variable">L</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Exports.fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.galois.html#F"><span class="id" title="variable">F</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="splittingFieldFor"><span class="id" title="definition">splittingFieldFor</span></a> (<span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingFieldFor.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingFieldFor.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingFieldFor.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) :=<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">rs</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#952776a2e27e0a80427a97e8cd81c9aa"><span class="id" title="notation">%=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><span class="id" title="var">z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.field.galois.html#rs"><span class="id" title="variable">rs</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">X</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.galois.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">P</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.falgebra.html#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.galois.html#rs"><span class="id" title="variable">rs</span></a><a class="idref" href="mathcomp.field.falgebra.html#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="splittingFieldForS"><span class="id" title="lemma">splittingFieldForS</span></a> (<span class="id" title="var">K</span> <span class="id" title="var">M</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingFieldFor.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) <span class="id" title="var">p</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.field.galois.html#splittingFieldFor"><span class="id" title="definition">splittingFieldFor</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#splittingFieldFor"><span class="id" title="definition">splittingFieldFor</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#SplittingFieldFor"><span class="id" title="section">SplittingFieldFor</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="kHom"><span class="id" title="section">kHom</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="kHom.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="kHom.L"><span class="id" title="variable">L</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Exports.fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.galois.html#F"><span class="id" title="variable">F</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">K</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="kHom"><span class="id" title="definition">kHom</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> (<a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fixedSpace"><span class="id" title="definition">fixedSpace</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHomP"><span class="id" title="lemma">kHomP</span></a> {<span class="id" title="var">K</span> <span class="id" title="var">V</span> <span class="id" title="var">f</span>} :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#53e4c1e546d9b20e029d981f761726c2"><span class="id" title="notation">[/\</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#53e4c1e546d9b20e029d981f761726c2"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#53e4c1e546d9b20e029d981f761726c2"><span class="id" title="notation">]</span></a><br/> - (<a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kAHomP"><span class="id" title="lemma">kAHomP</span></a> {<span class="id" title="var">U</span> <span class="id" title="var">V</span>} {<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a>} :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom1"><span class="id" title="lemma">kHom1</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#a300415caaff85fa92adc742a30b7dd0"><span class="id" title="notation">\1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="k1HomE"><span class="id" title="lemma">k1HomE</span></a> <span class="id" title="var">V</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> 1 <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_lrmorphism"><span class="id" title="lemma">kHom_lrmorphism</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">)</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Exports.lrmorphism"><span class="id" title="abbreviation">lrmorphism</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> 1 <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="k1AHom"><span class="id" title="lemma">k1AHom</span></a> <span class="id" title="var">V</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> 1 <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_poly_id"><span class="id" title="lemma">kHom_poly_id</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> <span class="id" title="var">p</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHomSl"><span class="id" title="lemma">kHomSl</span></a> <span class="id" title="var">U1</span> <span class="id" title="var">U2</span> <span class="id" title="var">V</span> <span class="id" title="var">f</span> : (<a class="idref" href="mathcomp.field.galois.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#U2"><span class="id" title="variable">U2</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHomSr"><span class="id" title="lemma">kHomSr</span></a> <span class="id" title="var">K</span> <span class="id" title="var">V1</span> <span class="id" title="var">V2</span> <span class="id" title="var">f</span> : (<a class="idref" href="mathcomp.field.galois.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#V2"><span class="id" title="variable">V2</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#V2"><span class="id" title="variable">V2</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHomS"><span class="id" title="lemma">kHomS</span></a> <span class="id" title="var">K1</span> <span class="id" title="var">K2</span> <span class="id" title="var">V1</span> <span class="id" title="var">V2</span> <span class="id" title="var">f</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K1"><span class="id" title="variable">K1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#K2"><span class="id" title="variable">K2</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.galois.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#V2"><span class="id" title="variable">V2</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K2"><span class="id" title="variable">K2</span></a> <a class="idref" href="mathcomp.field.galois.html#V2"><span class="id" title="variable">V2</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K1"><span class="id" title="variable">K1</span></a> <a class="idref" href="mathcomp.field.galois.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_eq"><span class="id" title="lemma">kHom_eq</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_inv"><span class="id" title="lemma">kHom_inv</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">^-1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_dim"><span class="id" title="lemma">kHom_dim</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_is_rmorphism"><span class="id" title="lemma">kHom_is_rmorphism</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> (<a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="kHom_rmorphism"><span class="id" title="definition">kHom_rmorphism</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> <span class="id" title="var">homKEf</span> :=<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.RMorphism"><span class="id" title="abbreviation">RMorphism</span></a> (@<a class="idref" href="mathcomp.field.galois.html#kHom_is_rmorphism"><span class="id" title="lemma">kHom_is_rmorphism</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#homKEf"><span class="id" title="variable">homKEf</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_horner"><span class="id" title="lemma">kHom_horner</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> <span class="id" title="var">p</span> <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">.[</span></a><a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">).[</span></a><a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_root"><span class="id" title="lemma">kHom_root</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> <span class="id" title="var">p</span> <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> (<a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a>) (<a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_root_id"><span class="id" title="lemma">kHom_root_id</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> <span class="id" title="var">p</span> <span class="id" title="var">x</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> (<a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="kHom.kHomExtend"><span class="id" title="section">kHomExtend</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="kHom.kHomExtend.K"><span class="id" title="variable">K</span></a> <a name="kHom.kHomExtend.E"><span class="id" title="variable">E</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) (<a name="kHom.kHomExtend.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">)</span></a>) (<a name="kHom.kHomExtend.x"><span class="id" title="variable">x</span></a> <a name="kHom.kHomExtend.y"><span class="id" title="variable">y</span></a> : <a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="kHomExtend_subproof"><span class="id" title="lemma">kHomExtend_subproof</span></a> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.linear"><span class="id" title="abbreviation">linear</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">z</span> ⇒ <a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#z"><span class="id" title="variable">z</span></a>)<a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">).[</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="kHomExtend"><span class="id" title="definition">kHomExtend</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.Linear"><span class="id" title="abbreviation">Linear</span></a> <a class="idref" href="mathcomp.field.galois.html#kHomExtend_subproof"><span class="id" title="lemma">kHomExtend_subproof</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHomExtendE"><span class="id" title="lemma">kHomExtendE</span></a> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.field.galois.html#kHomExtend"><span class="id" title="definition">kHomExtend</span></a> <a class="idref" href="mathcomp.field.galois.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#z"><span class="id" title="variable">z</span></a>)<a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">).[</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Hypotheses</span> (<a name="kHom.kHomExtend.sKE"><span class="id" title="variable">sKE</span></a> : (<a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span>) (<a name="kHom.kHomExtend.homKf"><span class="id" title="variable">homKf</span></a> : <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.f"><span class="id" title="variable">f</span></a>).<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="kHom.kHomExtend.fPx_y_0"><span class="id" title="variable">fPx_y_0</span></a> : <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> (<a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#Px"><span class="id" title="abbreviation">Px</span></a>) <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.y"><span class="id" title="variable">y</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHomExtend_id"><span class="id" title="lemma">kHomExtend_id</span></a> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.field.galois.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHomExtend"><span class="id" title="definition">kHomExtend</span></a> <a class="idref" href="mathcomp.field.galois.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#z"><span class="id" title="variable">z</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHomExtend_val"><span class="id" title="lemma">kHomExtend_val</span></a> : <a class="idref" href="mathcomp.field.galois.html#kHomExtend"><span class="id" title="definition">kHomExtend</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.y"><span class="id" title="variable">y</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHomExtend_poly"><span class="id" title="lemma">kHomExtend_poly</span></a> <span class="id" title="var">p</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHomExtend"><span class="id" title="definition">kHomExtend</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">.[</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">).[</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHomExtendP"><span class="id" title="lemma">kHomExtendP</span></a> : <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.field.galois.html#kHomExtend"><span class="id" title="definition">kHomExtend</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#kHom.kHomExtend"><span class="id" title="section">kHomExtend</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="kAut"><span class="id" title="definition">kAut</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> (<a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kAutE"><span class="id" title="lemma">kAutE</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> (<a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kAutS"><span class="id" title="lemma">kAutS</span></a> <span class="id" title="var">U1</span> <span class="id" title="var">U2</span> <span class="id" title="var">V</span> <span class="id" title="var">f</span> : (<a class="idref" href="mathcomp.field.galois.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#U2"><span class="id" title="variable">U2</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_kAut_sub"><span class="id" title="lemma">kHom_kAut_sub</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kAut_eq"><span class="id" title="lemma">kAut_eq</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">)</span></a>) :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kAutfE"><span class="id" title="lemma">kAutfE</span></a> <span class="id" title="var">K</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kAut1E"><span class="id" title="lemma">kAut1E</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> 1 <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kAutf_lker0"><span class="id" title="lemma">kAutf_lker0</span></a> <span class="id" title="var">K</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="inv_kHomf"><span class="id" title="lemma">inv_kHomf</span></a> <span class="id" title="var">K</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.vector.html#e6be4a5c85111d4111e3830a1680f652"><span class="id" title="notation">^-1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="inv_is_ahom"><span class="id" title="lemma">inv_is_ahom</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.vector.html#e6be4a5c85111d4111e3830a1680f652"><span class="id" title="notation">^-1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">inv_ahom</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.field.falgebra.html#AHom"><span class="id" title="constructor">AHom</span></a> (<a class="idref" href="mathcomp.field.galois.html#inv_is_ahom"><span class="id" title="lemma">inv_is_ahom</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>).<br/> -<span class="id" title="keyword">Notation</span> <a name="2f355084277448ddbd515287f674d08b"><span class="id" title="notation">"</span></a>f ^-1" := (<a class="idref" href="mathcomp.field.galois.html#inv_ahom"><span class="id" title="definition">inv_ahom</span></a> <span class="id" title="var">f</span>) : <span class="id" title="var">lrfun_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_kHom_img"><span class="id" title="lemma">comp_kHom_img</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>) <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> (<a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_kHom"><span class="id" title="lemma">comp_kHom</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#kHom.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> (<a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_extends"><span class="id" title="lemma">kHom_extends</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> <span class="id" title="var">p</span> <span class="id" title="var">U</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#splittingFieldFor"><span class="id" title="definition">splittingFieldFor</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="section">kHom</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="a44e78e4eac226d18711df021a9966f1"><span class="id" title="notation">"</span></a>f ^-1" := (<a class="idref" href="mathcomp.field.galois.html#inv_ahom"><span class="id" title="definition">inv_ahom</span></a> <span class="id" title="var">f</span>) : <span class="id" title="var">lrfun_scope</span>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Module</span> <a name="SplittingField"><span class="id" title="module">SplittingField</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Import</span> <span class="id" title="var">GRing</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="SplittingField.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.axiom"><span class="id" title="definition">axiom</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Exports.fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a>) :=<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">p</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.galois.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> 1%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.galois.html#splittingFieldFor"><span class="id" title="definition">splittingFieldFor</span></a> 1 <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Record</span> <a name="SplittingField.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">L</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> :=<br/> - <a name="SplittingField.Class"><span class="id" title="constructor">Class</span></a> {<a name="SplittingField.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.class_of"><span class="id" title="record">FieldExt.class_of</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.galois.html#L"><span class="id" title="variable">L</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.field.galois.html#SplittingField.axiom"><span class="id" title="definition">axiom</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Pack"><span class="id" title="constructor">FieldExt.Pack</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.field.galois.html#base"><span class="id" title="method">base</span></a>)}.<br/> - -<br/> -<span class="id" title="keyword">Structure</span> <a name="SplittingField.type"><span class="id" title="record">type</span></a> (<span class="id" title="var">phF</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a>) := <a name="SplittingField.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="SplittingField.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.field.galois.html#SplittingField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.field.galois.html#sort"><span class="id" title="method">sort</span></a>}.<br/> -<span class="id" title="keyword">Variable</span> (<a name="SplittingField.ClassDef.phF"><span class="id" title="variable">phF</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a>) (<a name="SplittingField.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.field.galois.html#SplittingField.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.field.galois.html#phF"><span class="id" title="variable">phF</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.field.galois.html#SplittingField.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.field.galois.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Let</span> <a name="SplittingField.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.field.galois.html#SplittingField.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.field.galois.html#SplittingField.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.field.galois.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.field.galois.html#SplittingField.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.phF"><span class="id" title="variable">phF</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.galois.html#c"><span class="id" title="variable">c</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">ax0</span> : <a class="idref" href="mathcomp.field.galois.html#SplittingField.axiom"><span class="id" title="definition">axiom</span></a> (@<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Pack"><span class="id" title="constructor">FieldExt.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a>) <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.galois.html#b0"><span class="id" title="variable">b0</span></a>)) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.class"><span class="id" title="definition">FieldExt.class</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.phF"><span class="id" title="variable">phF</span></a> <a class="idref" href="mathcomp.field.galois.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.field.galois.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">ax</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.field.galois.html#ax0"><span class="id" title="variable">ax0</span></a> <a class="idref" href="mathcomp.field.galois.html#ax"><span class="id" title="variable">ax</span></a> ⇒ <a class="idref" href="mathcomp.field.galois.html#SplittingField.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a>) (@<a class="idref" href="mathcomp.field.galois.html#SplittingField.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.galois.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.field.galois.html#ax"><span class="id" title="variable">ax</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.comRingType"><span class="id" title="definition">comRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">ComRing.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">ComUnitRing.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.idomainType"><span class="id" title="definition">idomainType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">IntegralDomain.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.fieldType"><span class="id" title="definition">fieldType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Field.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.lmodType"><span class="id" title="definition">lmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.phF"><span class="id" title="variable">phF</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.lalgType"><span class="id" title="definition">lalgType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Lalgebra.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.phF"><span class="id" title="variable">phF</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.algType"><span class="id" title="definition">algType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Algebra.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.phF"><span class="id" title="variable">phF</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.unitAlgType"><span class="id" title="definition">unitAlgType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Pack"><span class="id" title="constructor">UnitAlgebra.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.phF"><span class="id" title="variable">phF</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.vectType"><span class="id" title="definition">vectType</span></a> := @<a class="idref" href="mathcomp.algebra.vector.html#Vector.Pack"><span class="id" title="constructor">Vector.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.phF"><span class="id" title="variable">phF</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.FalgType"><span class="id" title="definition">FalgType</span></a> := @<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.Pack"><span class="id" title="constructor">Falgebra.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.phF"><span class="id" title="variable">phF</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SplittingField.fieldExtType"><span class="id" title="definition">fieldExtType</span></a> := @<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Pack"><span class="id" title="constructor">FieldExt.Pack</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.phF"><span class="id" title="variable">phF</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Module</span> <a name="SplittingField.Exports"><span class="id" title="module">Exports</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.sort"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.sort"><span class="id" title="projection">Sortclass</span></a>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.base"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.base"><span class="id" title="projection">FieldExt.class_of</span></a>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.eqType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.choiceType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.choiceType"><span class="id" title="definition">Choice.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">choiceType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.zmodType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.zmodType"><span class="id" title="definition">Zmodule.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">zmodType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ringType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.ringType"><span class="id" title="definition">Ring.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ringType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.unitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.unitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.unitRingType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.unitRingType"><span class="id" title="definition">UnitRing.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitRingType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.comRingType"><span class="id" title="definition">comRingType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.comRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.comRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.comRingType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.comRingType"><span class="id" title="definition">ComRing.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comRingType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.comUnitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.comUnitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.comUnitRingType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.comUnitRingType"><span class="id" title="definition">ComUnitRing.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comUnitRingType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.idomainType"><span class="id" title="definition">idomainType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.idomainType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.idomainType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.idomainType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.idomainType"><span class="id" title="definition">IntegralDomain.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">idomainType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.fieldType"><span class="id" title="definition">fieldType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.fieldType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.fieldType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.fieldType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.fieldType"><span class="id" title="definition">Field.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.lmodType"><span class="id" title="definition">lmodType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.lmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.lmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.lmodType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.lmodType"><span class="id" title="definition">Lmodule.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lmodType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.lalgType"><span class="id" title="definition">lalgType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.lalgType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.lalgType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.lalgType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.lalgType"><span class="id" title="definition">Lalgebra.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lalgType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.algType"><span class="id" title="definition">algType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.algType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.algType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.algType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.algType"><span class="id" title="definition">Algebra.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">algType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.unitAlgType"><span class="id" title="definition">unitAlgType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.unitAlgType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.unitAlgType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.unitAlgType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.unitAlgType"><span class="id" title="definition">UnitAlgebra.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitAlgType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.vectType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.vectType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.vectType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.vectType"><span class="id" title="definition">Vector.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vectType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.FalgType"><span class="id" title="definition">FalgType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.FalgType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.FalgType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.FalgType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.FalgType"><span class="id" title="definition">Falgebra.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">FalgType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.fieldExtType"><span class="id" title="definition">fieldExtType</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.fieldExtType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.fieldExtType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.fieldExtType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingField.fieldExtType"><span class="id" title="definition">FieldExt.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldExtType</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="SplittingField.Exports.splittingFieldType"><span class="id" title="abbreviation">splittingFieldType</span></a> <span class="id" title="var">F</span> := (<a class="idref" href="mathcomp.field.galois.html#SplittingField.type"><span class="id" title="record">type</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">F</span>)).<br/> -<span class="id" title="keyword">Notation</span> <a name="SplittingField.Exports.SplittingFieldType"><span class="id" title="abbreviation">SplittingFieldType</span></a> <span class="id" title="var">F</span> <span class="id" title="var">L</span> <span class="id" title="var">ax</span> := (@<a class="idref" href="mathcomp.field.galois.html#SplittingField.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">F</span>) <span class="id" title="var">L</span> <span class="id" title="var">_</span> <span class="id" title="var">ax</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> -<span class="id" title="keyword">Notation</span> <a name="205eef6999e87a23b5f8f5c2e8fec9d8"><span class="id" title="notation">"</span></a>[ 'splittingFieldType' F 'of' L 'for' K ]" :=<br/> - (@<a class="idref" href="mathcomp.field.galois.html#SplittingField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">F</span>) <span class="id" title="var">L</span> <span class="id" title="var">K</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'splittingFieldType' F 'of' L 'for' K ]")<br/> - : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="d8a72e9d06179f0980f622a9988083f5"><span class="id" title="notation">"</span></a>[ 'splittingFieldType' F 'of' L ]" :=<br/> - (@<a class="idref" href="mathcomp.field.galois.html#SplittingField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">F</span>) <span class="id" title="var">L</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'splittingFieldType' F 'of' L ]") : <span class="id" title="var">form_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField.Exports"><span class="id" title="module">Exports</span></a>.<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#SplittingField"><span class="id" title="module">SplittingField</span></a>.<br/> -<span class="id" title="keyword">Export</span> <span class="id" title="var">SplittingField.Exports</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normal_field_splitting"><span class="id" title="lemma">normal_field_splitting</span></a> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Exports.fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.galois.html#F"><span class="id" title="variable">F</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> (<span class="id" title="var">K</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) <span class="id" title="var">x</span>,<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">r</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><span class="id" title="var">y</span> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.field.galois.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">X</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">P</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.field.galois.html#axiom"><span class="id" title="definition">SplittingField.axiom</span></a> <a class="idref" href="mathcomp.field.galois.html#L"><span class="id" title="variable">L</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="regular_splittingAxiom"><span class="id" title="lemma">regular_splittingAxiom</span></a> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.field.galois.html#axiom"><span class="id" title="definition">SplittingField.axiom</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#regular_fieldExtType"><span class="id" title="definition">regular_fieldExtType</span></a> <a class="idref" href="mathcomp.field.galois.html#F"><span class="id" title="variable">F</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_splittingFieldType</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) :=<br/> - <a class="idref" href="mathcomp.field.galois.html#SplittingFieldType"><span class="id" title="abbreviation">SplittingFieldType</span></a> <a class="idref" href="mathcomp.field.galois.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.galois.html#F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#32d8c90f413029fb5c0e82f0559cd7ef"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#32d8c90f413029fb5c0e82f0559cd7ef"><span class="id" title="notation">o</span></a> (<a class="idref" href="mathcomp.field.galois.html#regular_splittingAxiom"><span class="id" title="lemma">regular_splittingAxiom</span></a> <a class="idref" href="mathcomp.field.galois.html#F"><span class="id" title="variable">F</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="SplittingFieldTheory"><span class="id" title="section">SplittingFieldTheory</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="SplittingFieldTheory.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="SplittingFieldTheory.L"><span class="id" title="variable">L</span></a> : <a class="idref" href="mathcomp.field.galois.html#splittingFieldType"><span class="id" title="abbreviation">splittingFieldType</span></a> <a class="idref" href="mathcomp.field.galois.html#F"><span class="id" title="variable">F</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">W</span> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingFieldTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">K</span> <span class="id" title="var">M</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingFieldTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="splittingFieldP"><span class="id" title="lemma">splittingFieldP</span></a> : <a class="idref" href="mathcomp.field.galois.html#axiom"><span class="id" title="definition">SplittingField.axiom</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingFieldTheory.L"><span class="id" title="variable">L</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="splittingPoly"><span class="id" title="lemma">splittingPoly</span></a> : <br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">{</span></a><span class="id" title="var">p</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.galois.html#SplittingFieldTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> 1%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.galois.html#splittingFieldFor"><span class="id" title="definition">splittingFieldFor</span></a> 1 <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#SplittingFieldTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="fieldOver_splitting"><span class="id" title="lemma">fieldOver_splitting</span></a> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.galois.html#axiom"><span class="id" title="definition">SplittingField.axiom</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#fieldOver_fieldExtType"><span class="id" title="definition">fieldOver_fieldExtType</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_splittingFieldType</span> <span class="id" title="var">E</span> :=<br/> - <a class="idref" href="mathcomp.field.galois.html#SplittingFieldType"><span class="id" title="abbreviation">SplittingFieldType</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>) (<a class="idref" href="mathcomp.field.fieldext.html#fieldOver"><span class="id" title="definition">fieldOver</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>) (<a class="idref" href="mathcomp.field.galois.html#fieldOver_splitting"><span class="id" title="lemma">fieldOver_splitting</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="enum_AEnd"><span class="id" title="lemma">enum_AEnd</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">{</span></a><span class="id" title="var">kAutL</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#SplittingFieldTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">|</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">f</span>, <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#kAutL"><span class="id" title="variable">kAutL</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="splitting_field_normal"><span class="id" title="lemma">splitting_field_normal</span></a> <span class="id" title="var">K</span> <span class="id" title="var">x</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">r</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><span class="id" title="var">y</span> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.field.galois.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">X</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">P</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_to_AEnd"><span class="id" title="lemma">kHom_to_AEnd</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">{</span></a><span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#SplittingFieldTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#SplittingFieldTheory"><span class="id" title="section">SplittingFieldTheory</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Hide the finGroup structure on 'AEnd(L) in a module so that we can control - when it is exported. Most people will want to use the finGroup structure - on 'Gal(E / K) and will not need this module. -</div> -<div class="code"> -<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Import</span> <a name="AEnd_FinGroup"><span class="id" title="module">AEnd_FinGroup</span></a>.<br/> -<span class="id" title="keyword">Section</span> <a name="AEnd_FinGroup.AEnd_FinGroup"><span class="id" title="section">AEnd_FinGroup</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="AEnd_FinGroup.AEnd_FinGroup.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a> : <a class="idref" href="mathcomp.field.galois.html#SplittingField.Exports.splittingFieldType"><span class="id" title="abbreviation">splittingFieldType</span></a> <a class="idref" href="mathcomp.field.galois.html#F"><span class="id" title="variable">F</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">W</span> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">K</span> <span class="id" title="var">M</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="AEnd_FinGroup.inAEnd"><span class="id" title="definition">inAEnd</span></a> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.ssreflect.fintype.html#SeqSub"><span class="id" title="constructor">SeqSub</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#svalP"><span class="id" title="lemma">svalP</span></a> (<a class="idref" href="mathcomp.field.galois.html#enum_AEnd"><span class="id" title="lemma">enum_AEnd</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a>) <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>).<br/> -<span class="id" title="keyword">Fact</span> <a name="AEnd_FinGroup.inAEndK"><span class="id" title="lemma">inAEndK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.inAEnd"><span class="id" title="definition">inAEnd</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="AEnd_FinGroup.AEnd_countMixin"><span class="id" title="definition">AEnd_countMixin</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#CanCountMixin"><span class="id" title="definition">CanCountMixin</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.inAEndK"><span class="id" title="lemma">inAEndK</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">AEnd_countType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.CountType"><span class="id" title="abbreviation">CountType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_countMixin"><span class="id" title="definition">AEnd_countMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">AEnd_subCountType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#9bbd910cbebcec91f8279b0711b4702d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#9bbd910cbebcec91f8279b0711b4702d"><span class="id" title="notation">subCountType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#9bbd910cbebcec91f8279b0711b4702d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#9bbd910cbebcec91f8279b0711b4702d"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="AEnd_FinGroup.AEnd_finMixin"><span class="id" title="definition">AEnd_finMixin</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#CanFinMixin"><span class="id" title="definition">CanFinMixin</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.inAEndK"><span class="id" title="lemma">inAEndK</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">AEnd_finType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.FinType"><span class="id" title="abbreviation">FinType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_finMixin"><span class="id" title="definition">AEnd_finMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">AEnd_subFinType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#ea70e506e168d39ce0ec3d3ecd2c349f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#ea70e506e168d39ce0ec3d3ecd2c349f"><span class="id" title="notation">subFinType</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#ea70e506e168d39ce0ec3d3ecd2c349f"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#ea70e506e168d39ce0ec3d3ecd2c349f"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - the group operation is the categorical composition operation -</div> -<div class="code"> -<span class="id" title="keyword">Definition</span> <a name="AEnd_FinGroup.comp_AEnd"><span class="id" title="definition">comp_AEnd</span></a> (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a> := (<a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.field.falgebra.html#37f1621ec8834da7c443a9b34d0751d3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.field.falgebra.html#37f1621ec8834da7c443a9b34d0751d3"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">AF</span>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="AEnd_FinGroup.comp_AEndA"><span class="id" title="lemma">comp_AEndA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.comp_AEnd"><span class="id" title="definition">comp_AEnd</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="AEnd_FinGroup.comp_AEnd1l"><span class="id" title="lemma">comp_AEnd1l</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f436108c4654cd96283a5a1885342019"><span class="id" title="notation">\1</span></a>%<span class="id" title="var">AF</span> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.comp_AEnd"><span class="id" title="definition">comp_AEnd</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="AEnd_FinGroup.comp_AEndK"><span class="id" title="lemma">comp_AEndK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f436108c4654cd96283a5a1885342019"><span class="id" title="notation">\1</span></a>%<span class="id" title="var">AF</span> (@<a class="idref" href="mathcomp.field.galois.html#inv_ahom"><span class="id" title="definition">inv_ahom</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a>) <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.comp_AEnd"><span class="id" title="definition">comp_AEnd</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="AEnd_FinGroup.AEnd_baseFinGroupMixin"><span class="id" title="definition">AEnd_baseFinGroupMixin</span></a> :=<br/> - <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Mixin"><span class="id" title="definition">FinGroup.Mixin</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.comp_AEndA"><span class="id" title="lemma">comp_AEndA</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.comp_AEnd1l"><span class="id" title="lemma">comp_AEnd1l</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.comp_AEndK"><span class="id" title="lemma">comp_AEndK</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">AEnd_baseFinGroupType</span> :=<br/> - <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.BaseFinGroupType"><span class="id" title="abbreviation">BaseFinGroupType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_baseFinGroupMixin"><span class="id" title="definition">AEnd_baseFinGroupMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">AEnd_finGroupType</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.FinGroupType"><span class="id" title="abbreviation">FinGroupType</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.comp_AEndK"><span class="id" title="lemma">comp_AEndK</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="AEnd_FinGroup.kAEnd"><span class="id" title="definition">kAEnd</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#6ac1c202d9451e0a66d4fc93e5d9b44b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#6ac1c202d9451e0a66d4fc93e5d9b44b"><span class="id" title="notation">set</span></a> <span class="id" title="var">f</span> <a class="idref" href="mathcomp.ssreflect.finset.html#6ac1c202d9451e0a66d4fc93e5d9b44b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#6ac1c202d9451e0a66d4fc93e5d9b44b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#6ac1c202d9451e0a66d4fc93e5d9b44b"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="AEnd_FinGroup.kAEndf"><span class="id" title="definition">kAEndf</span></a> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.kAEnd"><span class="id" title="definition">kAEnd</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="AEnd_FinGroup.kAEnd_group_set"><span class="id" title="lemma">kAEnd_group_set</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</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.field.galois.html#AEnd_FinGroup.kAEnd"><span class="id" title="definition">kAEnd</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">kAEnd_group</span> <span class="id" title="var">K</span> <span class="id" title="var">E</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#group"><span class="id" title="definition">group</span></a> (<a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.kAEnd_group_set"><span class="id" title="lemma">kAEnd_group_set</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">kAEndf_group</span> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.kAEndf"><span class="id" title="definition">kAEndf</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="AEnd_FinGroup.kAEnd_norm"><span class="id" title="lemma">kAEnd_norm</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.kAEnd"><span class="id" title="definition">kAEnd</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.kAEndf"><span class="id" title="definition">kAEndf</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">)</span></a>%<span class="id" title="var">g</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="AEnd_FinGroup.mem_kAut_coset"><span class="id" title="lemma">mem_kAut_coset</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a>) :<br/> - <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</span></a> (<a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.kAEndf"><span class="id" title="definition">kAEndf</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>) <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="AEnd_FinGroup.aut_mem_eqP"><span class="id" title="lemma">aut_mem_eqP</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.fingroup.quotient.html#coset_of"><span class="id" title="record">coset_of</span></a> (<a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.kAEndf"><span class="id" title="definition">kAEndf</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)) <span class="id" title="var">f</span> <span class="id" title="var">g</span> : <br/> - <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a>).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup.AEnd_FinGroup"><span class="id" title="section">AEnd_FinGroup</span></a>.<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#AEnd_FinGroup"><span class="id" title="module">AEnd_FinGroup</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="GaloisTheory"><span class="id" title="section">GaloisTheory</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="GaloisTheory.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="GaloisTheory.L"><span class="id" title="variable">L</span></a> : <a class="idref" href="mathcomp.field.galois.html#splittingFieldType"><span class="id" title="abbreviation">splittingFieldType</span></a> <a class="idref" href="mathcomp.field.galois.html#F"><span class="id" title="variable">F</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">W</span> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">K</span> <span class="id" title="var">M</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -</div> - -<div class="doc"> - We take Galois automorphisms for a subfield E to be automorphisms of the - full field {:L} that operate in E taken modulo those that fix E pointwise. - The type of Galois automorphisms of E is then the subtype of elements of - the quotient kAEnd 1 E / kAEndf E, which we encapsulate in a specific - wrapper to ensure stability of the gal_repr coercion insertion. -</div> -<div class="code"> -<span class="id" title="keyword">Section</span> <a name="GaloisTheory.gal_of_Definition"><span class="id" title="section">gal_of_Definition</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="GaloisTheory.gal_of_Definition.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - The <tt>_</tt>, which becomes redundant when V is a {subfield L}, ensures that - the argument of [subg _ ] is syntactically a group. -</div> -<div class="code"> -<span class="id" title="keyword">Inductive</span> <a name="gal_of"><span class="id" title="inductive">gal_of</span></a> := <a name="Gal"><span class="id" title="constructor">Gal</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.fingroup.fingroup.html#5042df3805811d5e07f15230153dbe2c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5042df3805811d5e07f15230153dbe2c"><span class="id" title="notation">subg</span></a> <a class="idref" href="mathcomp.field.galois.html#kAEnd_group"><span class="id" title="definition">kAEnd_group</span></a> 1 <a class="idref" href="mathcomp.field.falgebra.html#3e666855bd966e1fc13cba166232bd7a"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.gal_of_Definition.V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#3e666855bd966e1fc13cba166232bd7a"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#15f6d57e3ad1c8453221555081f89965"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#kAEndf"><span class="id" title="definition">kAEndf</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.gal_of_Definition.V"><span class="id" title="variable">V</span></a>)<a class="idref" href="mathcomp.fingroup.fingroup.html#5042df3805811d5e07f15230153dbe2c"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="gal"><span class="id" title="definition">gal</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a>) := <a class="idref" href="mathcomp.field.galois.html#Gal"><span class="id" title="constructor">Gal</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#subg"><span class="id" title="definition">subg</span></a> <span class="id" title="var">_</span> (<a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>)).<br/> -<span class="id" title="keyword">Definition</span> <a name="gal_sgval"><span class="id" title="definition">gal_sgval</span></a> <span class="id" title="var">x</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.field.galois.html#Gal"><span class="id" title="constructor">Gal</span></a> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">u</span>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="gal_sgvalK"><span class="id" title="lemma">gal_sgvalK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_sgval"><span class="id" title="definition">gal_sgval</span></a> <a class="idref" href="mathcomp.field.galois.html#Gal"><span class="id" title="constructor">Gal</span></a>. <br/> -<span class="id" title="keyword">Let</span> <a name="GaloisTheory.gal_of_Definition.gal_sgval_inj"><span class="id" title="variable">gal_sgval_inj</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#can_inj"><span class="id" title="lemma">can_inj</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_sgvalK"><span class="id" title="lemma">gal_sgvalK</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="gal_eqMixin"><span class="id" title="definition">gal_eqMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#CanEqMixin"><span class="id" title="definition">CanEqMixin</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_sgvalK"><span class="id" title="lemma">gal_sgvalK</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gal_eqType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.EqType"><span class="id" title="abbreviation">EqType</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_eqMixin"><span class="id" title="definition">gal_eqMixin</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="gal_choiceMixin"><span class="id" title="definition">gal_choiceMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.choice.html#CanChoiceMixin"><span class="id" title="definition">CanChoiceMixin</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_sgvalK"><span class="id" title="lemma">gal_sgvalK</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gal_choiceType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_choiceMixin"><span class="id" title="definition">gal_choiceMixin</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="gal_countMixin"><span class="id" title="definition">gal_countMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.choice.html#CanCountMixin"><span class="id" title="definition">CanCountMixin</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_sgvalK"><span class="id" title="lemma">gal_sgvalK</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gal_countType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.CountType"><span class="id" title="abbreviation">CountType</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_countMixin"><span class="id" title="definition">gal_countMixin</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="gal_finMixin"><span class="id" title="definition">gal_finMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.fintype.html#CanFinMixin"><span class="id" title="definition">CanFinMixin</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_sgvalK"><span class="id" title="lemma">gal_sgvalK</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gal_finType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.FinType"><span class="id" title="abbreviation">FinType</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_finMixin"><span class="id" title="definition">gal_finMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="gal_one"><span class="id" title="definition">gal_one</span></a> := <a class="idref" href="mathcomp.field.galois.html#Gal"><span class="id" title="constructor">Gal</span></a> 1%<span class="id" title="var">g</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="gal_inv"><span class="id" title="definition">gal_inv</span></a> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.field.galois.html#Gal"><span class="id" title="constructor">Gal</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#766fd55608aa0e125ed6f55c83bcc09a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#gal_sgval"><span class="id" title="definition">gal_sgval</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#766fd55608aa0e125ed6f55c83bcc09a"><span class="id" title="notation">)^-1</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="gal_mul"><span class="id" title="definition">gal_mul</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> := <a class="idref" href="mathcomp.field.galois.html#Gal"><span class="id" title="constructor">Gal</span></a> (<a class="idref" href="mathcomp.field.galois.html#gal_sgval"><span class="id" title="definition">gal_sgval</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#8b8794efbfbae1b793d9cb62ce802285"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_sgval"><span class="id" title="definition">gal_sgval</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a>).<br/> -<span class="id" title="keyword">Fact</span> <a name="gal_oneP"><span class="id" title="lemma">gal_oneP</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_one"><span class="id" title="definition">gal_one</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_mul"><span class="id" title="definition">gal_mul</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="gal_invP"><span class="id" title="lemma">gal_invP</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_one"><span class="id" title="definition">gal_one</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_inv"><span class="id" title="definition">gal_inv</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_mul"><span class="id" title="definition">gal_mul</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="gal_mulP"><span class="id" title="lemma">gal_mulP</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_mul"><span class="id" title="definition">gal_mul</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="gal_finGroupMixin"><span class="id" title="definition">gal_finGroupMixin</span></a> :=<br/> - <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Mixin"><span class="id" title="definition">FinGroup.Mixin</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_mulP"><span class="id" title="lemma">gal_mulP</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_oneP"><span class="id" title="lemma">gal_oneP</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_invP"><span class="id" title="lemma">gal_invP</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gal_finBaseGroupType</span> :=<br/> - <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.BaseFinGroupType"><span class="id" title="abbreviation">BaseFinGroupType</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_finGroupMixin"><span class="id" title="definition">gal_finGroupMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gal_finGroupType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.FinGroupType"><span class="id" title="abbreviation">FinGroupType</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_invP"><span class="id" title="lemma">gal_invP</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Coercion</span> <span class="id" title="var">gal_repr</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.fingroup.fingroup.html#repr"><span class="id" title="definition">repr</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#sgval"><span class="id" title="definition">sgval</span></a> (<a class="idref" href="mathcomp.field.galois.html#gal_sgval"><span class="id" title="definition">gal_sgval</span></a> <a class="idref" href="mathcomp.field.galois.html#u"><span class="id" title="variable">u</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="gal_is_morphism"><span class="id" title="lemma">gal_is_morphism</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#kAEnd"><span class="id" title="definition">kAEnd</span></a> 1 (<a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.gal_of_Definition.V"><span class="id" title="variable">V</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.galois.html#gal"><span class="id" title="definition">gal</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#8b8794efbfbae1b793d9cb62ce802285"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>%<span class="id" title="var">g</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gal_morphism</span> := <a class="idref" href="mathcomp.fingroup.morphism.html#Morphism"><span class="id" title="constructor">Morphism</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_is_morphism"><span class="id" title="lemma">gal_is_morphism</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_reprK"><span class="id" title="lemma">gal_reprK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_repr"><span class="id" title="definition">gal_repr</span></a> <a class="idref" href="mathcomp.field.galois.html#gal"><span class="id" title="definition">gal</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_repr_inj"><span class="id" title="lemma">gal_repr_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_repr"><span class="id" title="definition">gal_repr</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_AEnd"><span class="id" title="lemma">gal_AEnd</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.galois.html#gal_repr"><span class="id" title="definition">gal_repr</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#kAEnd"><span class="id" title="definition">kAEnd</span></a> 1 (<a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.gal_of_Definition.V"><span class="id" title="variable">V</span></a>).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.gal_of_Definition"><span class="id" title="section">gal_of_Definition</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_eqP"><span class="id" title="lemma">gal_eqP</span></a> <span class="id" title="var">E</span> {<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>} : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galK"><span class="id" title="lemma">galK</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#gal"><span class="id" title="definition">gal</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eq_galP"><span class="id" title="lemma">eq_galP</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a>) :<br/> - (<a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.field.galois.html#gal"><span class="id" title="definition">gal</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.galois.html#gal"><span class="id" title="definition">gal</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#g"><span class="id" title="variable">g</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="limg_gal"><span class="id" title="lemma">limg_gal</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>) : (<a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_gal"><span class="id" title="lemma">memv_gal</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>) <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_id"><span class="id" title="lemma">gal_id</span></a> <span class="id" title="var">E</span> <span class="id" title="var">a</span> : (1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galM"><span class="id" title="lemma">galM</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>) <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#8b8794efbfbae1b793d9cb62ce802285"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a> (<a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galV"><span class="id" title="lemma">galV</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> (<a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#766fd55608aa0e125ed6f55c83bcc09a"><span class="id" title="notation">^-1</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.vector.html#e6be4a5c85111d4111e3830a1680f652"><span class="id" title="notation">^-1</span></a>%<span class="id" title="var">VF</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Standard mathematical notation for 'Gal(E / K) puts the larger field first. -</div> -<div class="code"> -<span class="id" title="keyword">Definition</span> <a name="galoisG"><span class="id" title="definition">galoisG</span></a> <span class="id" title="var">V</span> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.field.galois.html#gal"><span class="id" title="definition">gal</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.galois.html#kAEnd"><span class="id" title="definition">kAEnd</span></a> (<a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation">>></span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">galoisG_group</span> <span class="id" title="var">E</span> <span class="id" title="var">U</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#galoisG"><span class="id" title="definition">galoisG</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">)]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="GaloisTheory.Automorphism"><span class="id" title="section">Automorphism</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_cap"><span class="id" title="lemma">gal_cap</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_kAut"><span class="id" title="lemma">gal_kAut</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_kHom"><span class="id" title="lemma">gal_kHom</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kAut_to_gal"><span class="id" title="lemma">kAut_to_gal</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">{</span></a><span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fixed_gal"><span class="id" title="lemma">fixed_gal</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">x</span> <span class="id" title="var">a</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fixedPoly_gal"><span class="id" title="lemma">fixedPoly_gal</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">x</span> <span class="id" title="var">p</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="root_minPoly_gal"><span class="id" title="lemma">root_minPoly_gal</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">x</span> <span class="id" title="var">a</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a>) (<a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a>).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.Automorphism"><span class="id" title="section">Automorphism</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_adjoin_eq"><span class="id" title="lemma">gal_adjoin_eq</span></a> <span class="id" title="var">K</span> <span class="id" title="var">a</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galS"><span class="id" title="lemma">galS</span></a> <span class="id" title="var">K</span> <span class="id" title="var">M</span> <span class="id" title="var">E</span> : (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_conjg"><span class="id" title="lemma">gal_conjg</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="fixedField"><span class="id" title="definition">fixedField</span></a> <span class="id" title="var">V</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>) :=<br/> - (<a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c8bd40eeb8582b2b4e8ef31cd546dfce"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#c8bd40eeb8582b2b4e8ef31cd546dfce"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.algebra.vector.html#c8bd40eeb8582b2b4e8ef31cd546dfce"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.vector.html#c8bd40eeb8582b2b4e8ef31cd546dfce"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.vector.html#c8bd40eeb8582b2b4e8ef31cd546dfce"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fixedSpace"><span class="id" title="definition">fixedSpace</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fixedFieldP"><span class="id" title="lemma">fixedFieldP</span></a> <span class="id" title="var">E</span> {<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>} <span class="id" title="var">a</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a>) (<a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mem_fixedFieldP"><span class="id" title="lemma">mem_fixedFieldP</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>) <span class="id" title="var">a</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="fixedField_is_aspace"><span class="id" title="lemma">fixedField_is_aspace</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.field.falgebra.html#is_aspace"><span class="id" title="definition">is_aspace</span></a> (<a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fixedField_aspace</span> <span class="id" title="var">E</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a> :=<br/> - <a class="idref" href="mathcomp.field.falgebra.html#ASpace"><span class="id" title="constructor">ASpace</span></a> (@<a class="idref" href="mathcomp.field.galois.html#fixedField_is_aspace"><span class="id" title="lemma">fixedField_is_aspace</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fixedField_bound"><span class="id" title="lemma">fixedField_bound</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>) : (<a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fixedFieldS"><span class="id" title="lemma">fixedFieldS</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.galois.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galois_connection_subv"><span class="id" title="lemma">galois_connection_subv</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> (<a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>))%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galois_connection_subset"><span class="id" title="lemma">galois_connection_subset</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>):<br/> - <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galois_connection"><span class="id" title="lemma">galois_connection</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>):<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="galTrace"><span class="id" title="definition">galTrace</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">a</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#b4ba9f64661118f4ed0bad900f98d2a2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b4ba9f64661118f4ed0bad900f98d2a2"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b4ba9f64661118f4ed0bad900f98d2a2"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#b4ba9f64661118f4ed0bad900f98d2a2"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b4ba9f64661118f4ed0bad900f98d2a2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b4ba9f64661118f4ed0bad900f98d2a2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b4ba9f64661118f4ed0bad900f98d2a2"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="galNorm"><span class="id" title="definition">galNorm</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">a</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#36801bf0b805f8d0bb9c9b074cb697c1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#36801bf0b805f8d0bb9c9b074cb697c1"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#36801bf0b805f8d0bb9c9b074cb697c1"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#36801bf0b805f8d0bb9c9b074cb697c1"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#36801bf0b805f8d0bb9c9b074cb697c1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#36801bf0b805f8d0bb9c9b074cb697c1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#36801bf0b805f8d0bb9c9b074cb697c1"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="GaloisTheory.TraceAndNormMorphism"><span class="id" title="section">TraceAndNormMorphism</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> <a name="GaloisTheory.TraceAndNormMorphism.U"><span class="id" title="variable">U</span></a> <a name="GaloisTheory.TraceAndNormMorphism.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="galTrace_is_additive"><span class="id" title="lemma">galTrace_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.field.galois.html#galTrace"><span class="id" title="definition">galTrace</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.V"><span class="id" title="variable">V</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">galTrace_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.field.galois.html#galTrace_is_additive"><span class="id" title="lemma">galTrace_is_additive</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galNorm1"><span class="id" title="lemma">galNorm1</span></a> : <a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.V"><span class="id" title="variable">V</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galNormM"><span class="id" title="lemma">galNormM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.galois.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galNormV"><span class="id" title="lemma">galNormV</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">a</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">^-1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galNormX"><span class="id" title="lemma">galNormX</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">a</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.galois.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galNorm_prod"><span class="id" title="lemma">galNorm_prod</span></a> (<span class="id" title="var">I</span> : <span class="id" title="keyword">Type</span>) (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.field.galois.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.field.galois.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.field.galois.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a>) :<br/> - <a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.V"><span class="id" title="variable">V</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.field.galois.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.galois.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.galois.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.galois.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.field.galois.html#i"><span class="id" title="variable">i</span></a>)<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.field.galois.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.galois.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.galois.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.V"><span class="id" title="variable">V</span></a> (<a class="idref" href="mathcomp.field.galois.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.field.galois.html#i"><span class="id" title="variable">i</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galNorm0"><span class="id" title="lemma">galNorm0</span></a> : <a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.V"><span class="id" title="variable">V</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galNorm_eq0"><span class="id" title="lemma">galNorm_eq0</span></a> <span class="id" title="var">a</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormMorphism"><span class="id" title="section">TraceAndNormMorphism</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="GaloisTheory.TraceAndNormField"><span class="id" title="section">TraceAndNormField</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> <a name="GaloisTheory.TraceAndNormField.K"><span class="id" title="variable">K</span></a> <a name="GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galTrace_fixedField"><span class="id" title="lemma">galTrace_fixedField</span></a> <span class="id" title="var">a</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#galTrace"><span class="id" title="definition">galTrace</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galTrace_gal"><span class="id" title="lemma">galTrace_gal</span></a> <span class="id" title="var">a</span> <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#galTrace"><span class="id" title="definition">galTrace</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> (<a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#galTrace"><span class="id" title="definition">galTrace</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galNorm_fixedField"><span class="id" title="lemma">galNorm_fixedField</span></a> <span class="id" title="var">a</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galNorm_gal"><span class="id" title="lemma">galNorm_gal</span></a> <span class="id" title="var">a</span> <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> (<a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.TraceAndNormField"><span class="id" title="section">TraceAndNormField</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="normalField"><span class="id" title="definition">normalField</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.ssreflect.fintype.html#9b40a7420e06ba2a775d87b43bd1c69f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9b40a7420e06ba2a775d87b43bd1c69f"><span class="id" title="notation">∀</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#9b40a7420e06ba2a775d87b43bd1c69f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#kAEndf"><span class="id" title="definition">kAEndf</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f3be25edeb0349b0a76405eded9d0b98"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9b40a7420e06ba2a775d87b43bd1c69f"><span class="id" title="notation">]</span></a>%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalField_kAut"><span class="id" title="lemma">normalField_kAut</span></a> <span class="id" title="var">K</span> <span class="id" title="var">M</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#38ac57c5d7cac2ba77153bb3a8bb94cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#38ac57c5d7cac2ba77153bb3a8bb94cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#normalField"><span class="id" title="definition">normalField</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kAut"><span class="id" title="definition">kAut</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalFieldP"><span class="id" title="lemma">normalFieldP</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">r</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a><br/> - <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>) <a class="idref" href="mathcomp.field.galois.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><span class="id" title="var">b</span> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.field.galois.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">X</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.galois.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">P</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a><br/> - (<a class="idref" href="mathcomp.field.galois.html#normalField"><span class="id" title="definition">normalField</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalFieldf"><span class="id" title="lemma">normalFieldf</span></a> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.field.galois.html#normalField"><span class="id" title="definition">normalField</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalFieldS"><span class="id" title="lemma">normalFieldS</span></a> <span class="id" title="var">K</span> <span class="id" title="var">M</span> <span class="id" title="var">E</span> : (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#normalField"><span class="id" title="definition">normalField</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#normalField"><span class="id" title="definition">normalField</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="splitting_normalField"><span class="id" title="lemma">splitting_normalField</span></a> <span class="id" title="var">E</span> <span class="id" title="var">K</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">p</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.galois.html#splittingFieldFor"><span class="id" title="definition">splittingFieldFor</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)<br/> - (<a class="idref" href="mathcomp.field.galois.html#normalField"><span class="id" title="definition">normalField</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="kHom_to_gal"><span class="id" title="lemma">kHom_to_gal</span></a> <span class="id" title="var">K</span> <span class="id" title="var">M</span> <span class="id" title="var">E</span> <span class="id" title="var">f</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#38ac57c5d7cac2ba77153bb3a8bb94cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#38ac57c5d7cac2ba77153bb3a8bb94cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#normalField"><span class="id" title="definition">normalField</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#kHom"><span class="id" title="definition">kHom</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalField_root_minPoly"><span class="id" title="lemma">normalField_root_minPoly</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">a</span> <span class="id" title="var">b</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#normalField"><span class="id" title="definition">normalField</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a>) <a class="idref" href="mathcomp.field.galois.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">x</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#b"><span class="id" title="variable">b</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalField_factors"><span class="id" title="lemma">normalField_factors</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">r</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> (<a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">,</span></a><br/> - <a class="idref" href="mathcomp.field.galois.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.field.galois.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">X</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">P</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a><br/> - (<a class="idref" href="mathcomp.field.galois.html#normalField"><span class="id" title="definition">normalField</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="galois"><span class="id" title="definition">galois</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">[&&</span></a> (<a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.separable.html#separable"><span class="id" title="definition">separable</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.galois.html#normalField"><span class="id" title="definition">normalField</span></a> <a class="idref" href="mathcomp.field.galois.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.galois.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galoisS"><span class="id" title="lemma">galoisS</span></a> <span class="id" title="var">K</span> <span class="id" title="var">M</span> <span class="id" title="var">E</span> : (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#38ac57c5d7cac2ba77153bb3a8bb94cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#38ac57c5d7cac2ba77153bb3a8bb94cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galois_dim"><span class="id" title="lemma">galois_dim</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">dim_K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galois_factors"><span class="id" title="lemma">galois_factors</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> :<br/> - (<a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">r</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">let</span> <span class="id" title="var">r_a</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#035c9924d34358d2b2816d54c1fb0043"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#035c9924d34358d2b2816d54c1fb0043"><span class="id" title="notation">seq</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#035c9924d34358d2b2816d54c1fb0043"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.seq.html#035c9924d34358d2b2816d54c1fb0043"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#035c9924d34358d2b2816d54c1fb0043"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.field.galois.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#035c9924d34358d2b2816d54c1fb0043"><span class="id" title="notation">]</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.field.galois.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#uniq"><span class="id" title="definition">uniq</span></a> <a class="idref" href="mathcomp.field.galois.html#r_a"><span class="id" title="variable">r_a</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><span class="id" title="var">b</span> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.field.galois.html#r_a"><span class="id" title="variable">r_a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">X</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.galois.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">P</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a><br/> - (<a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="splitting_galoisField"><span class="id" title="lemma">splitting_galoisField</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">p</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.separable.html#separable_poly"><span class="id" title="definition">separable_poly</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.galois.html#splittingFieldFor"><span class="id" title="definition">splittingFieldFor</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a>) <br/> - (<a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="galois_fixedField"><span class="id" title="lemma">galois_fixedField</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a>) (<a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mem_galTrace"><span class="id" title="lemma">mem_galTrace</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#galTrace"><span class="id" title="definition">galTrace</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mem_galNorm"><span class="id" title="lemma">mem_galNorm</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_independent_contra"><span class="id" title="lemma">gal_independent_contra</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> (<a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)) (<span class="id" title="var">c_</span> : <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a>) <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#c_"><span class="id" title="variable">c_</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">a</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">(</span></a><span class="id" title="var">y</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.galois.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.galois.html#c_"><span class="id" title="variable">c_</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_independent"><span class="id" title="lemma">gal_independent</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> (<a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>)) (<span class="id" title="var">c_</span> : <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.galois.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.galois.html#c_"><span class="id" title="variable">c_</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.field.galois.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#c_"><span class="id" title="variable">c_</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Hilbert's_theorem_90"><span class="id" title="lemma">Hilbert's_theorem_90</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">x</span> <span class="id" title="var">a</span> :<br/> - <a class="idref" href="mathcomp.solvable.cyclic.html#generator"><span class="id" title="definition">generator</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">b</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.field.galois.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#69c431a9c94f6f30a655bd7ddb59037b"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.galois.html#b"><span class="id" title="variable">b</span></a>) (<a class="idref" href="mathcomp.field.galois.html#galNorm"><span class="id" title="definition">galNorm</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1).<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="GaloisTheory.Matrix"><span class="id" title="section">Matrix</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> (<a name="GaloisTheory.Matrix.E"><span class="id" title="variable">E</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) (<a name="GaloisTheory.Matrix.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="GaloisTheory.Matrix.K"><span class="id" title="variable">K</span></a> := <a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.Matrix.A"><span class="id" title="variable">A</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_matrix"><span class="id" title="lemma">gal_matrix</span></a> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">{</span></a><span class="id" title="var">w</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.Matrix.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.galois.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.Matrix.E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c1ad6bcc76a6221225111f87bc3b0c3d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c1ad6bcc76a6221225111f87bc3b0c3d"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.field.galois.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">&</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#afeb5861033e3e7ff02925b9c0f8e034"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#afeb5861033e3e7ff02925b9c0f8e034"><span class="id" title="notation">matrix_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#afeb5861033e3e7ff02925b9c0f8e034"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span><a class="idref" href="mathcomp.algebra.matrix.html#afeb5861033e3e7ff02925b9c0f8e034"><span class="id" title="notation">,</span></a> <span class="id" title="var">j</span> <a class="idref" href="mathcomp.algebra.matrix.html#afeb5861033e3e7ff02925b9c0f8e034"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.Matrix.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.matrix.html#afeb5861033e3e7ff02925b9c0f8e034"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#enum_val"><span class="id" title="definition">enum_val</span></a> <a class="idref" href="mathcomp.field.galois.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.field.galois.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.field.galois.html#j"><span class="id" title="variable">j</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a><br/> - <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#0c4efae6a4d872dac94fb49ba92ea1f6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#0c4efae6a4d872dac94fb49ba92ea1f6"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.Matrix.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.field.galois.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.field.galois.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">&</span></a><br/> - <a class="idref" href="mathcomp.fingroup.fingroup.html#group_set"><span class="id" title="definition">group_set</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.Matrix.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#0c4efae6a4d872dac94fb49ba92ea1f6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#0c4efae6a4d872dac94fb49ba92ea1f6"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.Matrix.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.field.galois.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.field.galois.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.Matrix.E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.Matrix"><span class="id" title="section">Matrix</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_fixedField"><span class="id" title="lemma">dim_fixedField</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.field.galois.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">dim_</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_fixed_galois"><span class="id" title="lemma">dim_fixed_galois</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> (<span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.galois.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">dim_K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#0665f11b64f1431f9d664aba3c000866"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#0665f11b64f1431f9d664aba3c000866"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.galois.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#0665f11b64f1431f9d664aba3c000866"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_fixedField"><span class="id" title="lemma">gal_fixedField</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>): <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gal_generated"><span class="id" title="lemma">gal_generated</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation">>></span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fixedField_galois"><span class="id" title="lemma">fixedField_galois</span></a> <span class="id" title="var">E</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>): <a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> (<a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.field.galois.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="GaloisTheory.FundamentalTheoremOfGaloisTheory"><span class="id" title="section">FundamentalTheoremOfGaloisTheory</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> <a name="GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a name="GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="GaloisTheory.FundamentalTheoremOfGaloisTheory.galKE"><span class="id" title="variable">galKE</span></a> : <a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField"><span class="id" title="section">IntermediateField</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Hypothesis</span> (<a name="GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.sKME"><span class="id" title="variable">sKME</span></a> : (<a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#38ac57c5d7cac2ba77153bb3a8bb94cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#38ac57c5d7cac2ba77153bb3a8bb94cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span>) (<a name="GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.nKM"><span class="id" title="variable">nKM</span></a> : <a class="idref" href="mathcomp.field.galois.html#normalField"><span class="id" title="definition">normalField</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalField_galois"><span class="id" title="lemma">normalField_galois</span></a> : <a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="normalField_cast"><span class="id" title="definition">normalField_cast</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a>) : <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a> := <a class="idref" href="mathcomp.field.galois.html#gal"><span class="id" title="definition">gal</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalField_cast_eq"><span class="id" title="lemma">normalField_cast_eq</span></a> <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.galois.html#normalField_cast"><span class="id" title="definition">normalField_cast</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalField_castM"><span class="id" title="lemma">normalField_castM</span></a> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.galois.html#normalField_cast"><span class="id" title="definition">normalField_cast</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> (<a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#8b8794efbfbae1b793d9cb62ce802285"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.galois.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">g</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">normalField_cast_morphism</span> := <a class="idref" href="mathcomp.fingroup.morphism.html#Morphism"><span class="id" title="constructor">Morphism</span></a> <a class="idref" href="mathcomp.field.galois.html#normalField_castM"><span class="id" title="lemma">normalField_castM</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalField_ker"><span class="id" title="lemma">normalField_ker</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#7ef99623452370540bbc44fd30b0bc94"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#7ef99623452370540bbc44fd30b0bc94"><span class="id" title="notation">ker</span></a> <a class="idref" href="mathcomp.field.galois.html#normalField_cast"><span class="id" title="definition">normalField_cast</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalField_normal"><span class="id" title="lemma">normalField_normal</span></a> : <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7e8095b432e7aa5c3c22bb87584658b7"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalField_img"><span class="id" title="lemma">normalField_img</span></a> : <a class="idref" href="mathcomp.field.galois.html#normalField_cast"><span class="id" title="definition">normalField_cast</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalField_isom"><span class="id" title="lemma">normalField_isom</span></a> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">{</span></a><span class="id" title="var">f</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">|</span></a><br/> - <a class="idref" href="mathcomp.fingroup.morphism.html#isom"><span class="id" title="definition">isom</span></a> (<a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>) <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">A</span>, <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.galois.html#normalField_cast"><span class="id" title="definition">normalField_cast</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.field.galois.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">)</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.field.galois.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.field.galois.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">}</span></a>%<span class="id" title="var">g</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normalField_isog"><span class="id" title="lemma">normalField_isog</span></a> : <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">isog</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField.M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateField"><span class="id" title="section">IntermediateField</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateGroup"><span class="id" title="section">IntermediateGroup</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateGroup.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.field.galois.html#gal_of"><span class="id" title="inductive">gal_of</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateGroup.nsGgalE"><span class="id" title="variable">nsGgalE</span></a> : <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7e8095b432e7aa5c3c22bb87584658b7"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">Gal</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.galois.html#eb63e7cabb476068136e59e10351a997"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="normal_fixedField_galois"><span class="id" title="lemma">normal_fixedField_galois</span></a> : <a class="idref" href="mathcomp.field.galois.html#galois"><span class="id" title="definition">galois</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.field.galois.html#fixedField"><span class="id" title="definition">fixedField</span></a> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateGroup.G"><span class="id" title="variable">G</span></a>).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory.IntermediateGroup"><span class="id" title="section">IntermediateGroup</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory.FundamentalTheoremOfGaloisTheory"><span class="id" title="section">FundamentalTheoremOfGaloisTheory</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.galois.html#GaloisTheory"><span class="id" title="section">GaloisTheory</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="1f007a2c34bca981c8e1e44634ce1d47"><span class="id" title="notation">"</span></a>''Gal' ( V / U )" := (<a class="idref" href="mathcomp.field.galois.html#galoisG"><span class="id" title="definition">galoisG</span></a> <span class="id" title="var">V</span> <span class="id" title="var">U</span>) : <span class="id" title="var">group_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="572d1318ae0adea80366a810b7477630"><span class="id" title="notation">"</span></a>''Gal' ( V / U )" := (<a class="idref" href="mathcomp.field.galois.html#galoisG_group"><span class="id" title="definition">galoisG_group</span></a> <span class="id" title="var">V</span> <span class="id" title="var">U</span>) : <span class="id" title="var">Group_scope</span>.<br/> - -<br/> -</div> -</div> - -<div id="footer"> -<hr/><a href="index.html">Index</a><hr/>This page has been generated by <a href="http://coq.inria.fr/">coqdoc</a> -</div> - -</div> - -</body> -</html>
\ No newline at end of file |
