diff options
Diffstat (limited to 'docs/htmldoc/mathcomp.character.classfun.html')
| -rw-r--r-- | docs/htmldoc/mathcomp.character.classfun.html | 1959 |
1 files changed, 1959 insertions, 0 deletions
diff --git a/docs/htmldoc/mathcomp.character.classfun.html b/docs/htmldoc/mathcomp.character.classfun.html new file mode 100644 index 0000000..dcc4734 --- /dev/null +++ b/docs/htmldoc/mathcomp.character.classfun.html @@ -0,0 +1,1959 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" +"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<link href="coqdoc.css" rel="stylesheet" type="text/css" /> +<title>mathcomp.character.classfun</title> +</head> + +<body> + +<div id="page"> + +<div id="header"> +</div> + +<div id="main"> + +<h1 class="libtitle">Library mathcomp.character.classfun</h1> + +<div class="code"> +<span class="comment">(* (c) Copyright 2006-2016 Microsoft Corporation and Inria. <br/> + Distributed under the terms of CeCILL-B. *)</span><br/> +<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="mathcomp.ssreflect.ssreflect.html#"><span class="id" title="library">mathcomp.ssreflect.ssreflect</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + This file contains the basic theory of class functions: + 'CF(G) == the type of class functions on G : {group gT}, i.e., + which map gT to the type algC of complex algebraics, + have support in G, and are constant on each conjugacy + class of G. 'CF(G) implements the FalgType interface of + finite-dimensional F-algebras. + The identity 1 : 'CF(G) is the indicator function of G, + and (later) the principal character. +> The %CF scope (cfun_scope) is bound to the 'CF(_) types. + 'CF(G)%VS == the (total) vector space of 'CF(G). + 'CF(G, A) == the subspace of functions in 'CF(G) with support in A. + phi x == the image of x : gT under phi : 'CF(G). + # [phi]%CF == the multiplicative order of phi : 'CF(G). + cfker phi == the kernel of phi : 'CF(G); note that cfker phi <| G. + cfaithful phi <=> phi : 'CF(G) is faithful (has a trivial kernel). + '1_A == the indicator function of A as a function of 'CF(G). + (Provided A <| G; G is determined by the context.) + phi^*%CF == the function conjugate to phi : 'CF(G). + cfAut u phi == the function conjugate to phi by an algC-automorphism u + phi^u The notation "_ ^u" is only reserved; it is up to + clients to set Notation "phi ^u" := (cfAut u phi). + ' [phi, psi] == the convolution of phi, psi : 'CF(G) over G, normalised + ' [phi, psi]_G by #|G| so that ' [1, 1]_G = 1 (G is usually inferred). + cfdotr psi phi == ' [phi, psi] (self-expanding). + ' [phi], ' [phi]_G == the squared norm ' [phi, phi] of phi : 'CF(G). + orthogonal R S <=> each phi in R : seq 'CF(G) is orthogonal to each psi in + S, i.e., ' [phi, psi] = 0. As 'CF(G) coerces to seq, one + can write orthogonal phi S and orthogonal phi psi. + pairwise_orthogonal S <=> the class functions in S are pairwise orthogonal + AND non-zero. + orthonormal S <=> S is pairwise orthogonal and all class functions in S + have norm 1. + isometry tau <-> tau : 'CF(D) -> 'CF(R) is an isometry, mapping + ' [, _ ]_D to ' [, _ ]_R. + {in CD, isometry tau, to CR} <-> in the domain CD, tau is an isometry + whose range is contained in CR. + cfReal phi <=> phi is real, i.e., phi^* == phi. + cfAut_closed u S <-> S : seq 'CF(G) is closed under conjugation by u. + cfConjC_closed S <-> S : seq 'CF(G) is closed under complex conjugation. + conjC_subset S1 S2 <-> S1 : seq 'CF(G) represents a subset of S2 closed + under complex conjugation. + := [/\ uniq S1, {subset S1 <= S2} & cfConjC_closed S1]. + 'Res[H] phi == the restriction of phi : 'CF(G) to a function of 'CF(H) + 'Res[H, G] phi 'Res[H] phi x = phi x if x \in H (when H \subset G), + 'Res phi 'Res[H] phi x = 0 if x \notin H. The syntax variants + allow H and G to be inferred; the default is to specify + H explicitly, and infer G from the type of phi. + 'Ind[G] phi == the class function of 'CF(G) induced by phi : 'CF(H), + 'Ind[G, H] phi when H \subset G. As with 'Res phi, both G and H can + 'Ind phi be inferred, though usually G isn't. + cfMorph phi == the class function in 'CF(G) that maps x to phi (f x), + where phi : 'CF(f @* G), provided G \subset 'dom f. + cfIsom isoGR phi == the class function in 'CF(R) that maps f x to phi x, + given isoGR : isom G R f, f : {morphism G >-> rT} and + phi : 'CF(G). + (phi %% H)%CF == special case of cfMorph phi, when phi : 'CF(G / H). + (phi / H)%CF == the class function in 'CF(G / H) that coincides with + phi : 'CF(G) on cosets of H \subset cfker phi. + For a group G that is a semidirect product (defG : K ><| H = G), we have + cfSdprod KxH phi == for phi : 'CF(H), the class function of 'CF(G) that + maps k * h to psi h when k \in K and h \in H. + For a group G that is a direct product (with KxH : K \x H = G), we have + cfDprodl KxH phi == for phi : 'CF(K), the class function of 'CF(G) that + maps k * h to phi k when k \in K and h \in H. + cfDprodr KxH psi == for psi : 'CF(H), the class function of 'CF(G) that + maps k * h to psi h when k \in K and h \in H. + cfDprod KxH phi psi == for phi : 'CF(K), psi : 'CF(H), the class function + of 'CF(G) that maps k * h to phi k * psi h (this is + the product of the two functions above). + Finally, given defG : \big[dprod/1](i | P i) A i = G, with G and A i + groups and i ranges over a finType, we have + cfBigdprodi defG phi == for phi : 'CF(A i) s.t. P i, the class function + of 'CF(G) that maps x to phi x_i, where x_i is the + (A i)-component of x : G. + cfBigdprod defG phi == for phi : forall i, 'CF(A i), the class function + of 'CF(G) that maps x to \prod(i | P i) phi i x_i, + where x_i is the (A i)-component of x : G. +</div> +<div class="code"> + +<br/> +<span class="id" title="keyword">Set Implicit Arguments</span>.<br/> + +<br/> +<span class="id" title="keyword">Import</span> <span class="id" title="var">GroupScope</span> <span class="id" title="var">GRing.Theory</span> <span class="id" title="var">Num.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/> +<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">cfun_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">Reserved Notation</span> "''CF' ( G , A )" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''CF' ( G , A )").<br/> +<span class="id" title="keyword">Reserved Notation</span> "''CF' ( G )" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''CF' ( G )").<br/> +<span class="id" title="keyword">Reserved Notation</span> "''1_' G" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">G</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''1_' G").<br/> +<span class="id" title="keyword">Reserved Notation</span> "''Res[' H , G ]" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/> +<span class="id" title="keyword">Reserved Notation</span> "''Res[' H ]" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''Res[' H ]").<br/> +<span class="id" title="keyword">Reserved Notation</span> "''Res'" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/> +<span class="id" title="keyword">Reserved Notation</span> "''Ind[' G , H ]" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/> +<span class="id" title="keyword">Reserved Notation</span> "''Ind[' G ]" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''Ind[' G ]").<br/> +<span class="id" title="keyword">Reserved Notation</span> "''Ind'" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/> +<span class="id" title="keyword">Reserved Notation</span> "'[ phi , psi ]_ G" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/> +<span class="id" title="keyword">Reserved Notation</span> "'[ phi , psi ]"<br/> + (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "'[hv' ''[' phi , '/ ' psi ] ']'").<br/> +<span class="id" title="keyword">Reserved Notation</span> "'[ phi ]_ G" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/> +<span class="id" title="keyword">Reserved Notation</span> "'[ phi ]" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''[' phi ]").<br/> +<span class="id" title="keyword">Reserved Notation</span> "phi ^u" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 3, <span class="id" title="var">format</span> "phi ^u").<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="AlgC"><span class="id" title="section">AlgC</span></a>.<br/> +</div> + +<div class="doc"> + Arithmetic properties of group orders in the characteristic 0 field algC. +</div> +<div class="code"> + +<br/> +<span class="id" title="keyword">Variable</span> (<a name="AlgC.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>).<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#AlgC.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#AlgC.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="neq0CG"><span class="id" title="lemma">neq0CG</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="neq0CiG"><span class="id" title="lemma">neq0CiG</span></a> <span class="id" title="var">G</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="gt0CG"><span class="id" title="lemma">gt0CG</span></a> <span class="id" title="var">G</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="gt0CiG"><span class="id" title="lemma">gt0CiG</span></a> <span class="id" title="var">G</span> <span class="id" title="var">B</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="algC'G"><span class="id" title="lemma">algC'G</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#233366c70a33ee49ba3eedb41626d66a"><span class="id" title="notation">^'</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5b9c9ef075a2fca9df30ee4ac4a1af18"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5b9c9ef075a2fca9df30ee4ac4a1af18"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#AlgC"><span class="id" title="section">AlgC</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Defs"><span class="id" title="section">Defs</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="Defs.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="is_class_fun"><span class="id" title="definition">is_class_fun</span></a> (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#Defs.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.character.classfun.html#Defs.gT"><span class="id" title="variable">gT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a>) :=<br/> + <a class="idref" href="mathcomp.ssreflect.fintype.html#6f09da91da7950fd65c31195ac4a5d3e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#6f09da91da7950fd65c31195ac4a5d3e"><span class="id" title="notation">∀</span></a> <span class="id" title="var">x</span><a class="idref" href="mathcomp.ssreflect.fintype.html#569613cf8a3bdd9ea86bbbe48a5b61c3"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#569613cf8a3bdd9ea86bbbe48a5b61c3"><span class="id" title="notation">∀</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#569613cf8a3bdd9ea86bbbe48a5b61c3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#6f09da91da7950fd65c31195ac4a5d3e"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#support"><span class="id" title="abbreviation">support</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="intro_class_fun"><span class="id" title="lemma">intro_class_fun</span></a> (<span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#Defs.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) <span class="id" title="var">f</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#is_class_fun"><span class="id" title="definition">is_class_fun</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> (<a class="idref" href="mathcomp.ssreflect.finfun.html#finfun"><span class="id" title="abbreviation">finfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="Defs.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#Defs.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Record</span> <a name="classfun"><span class="id" title="record">classfun</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predArgType"><span class="id" title="definition">predArgType</span></a> :=<br/> + <a name="Classfun"><span class="id" title="constructor">Classfun</span></a> {<a name="cfun_val"><span class="id" title="projection">cfun_val</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.character.classfun.html#is_class_fun"><span class="id" title="definition">is_class_fun</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_val"><span class="id" title="method">cfun_val</span></a>}.<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> <span class="id" title="var">xi</span> : <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a>.<br/> +</div> + +<div class="doc"> + The default expansion lemma cfunE requires key = 0. +</div> +<div class="code"> +<span class="id" title="keyword">Fact</span> <a name="classfun_key"><span class="id" title="lemma">classfun_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/> +<span class="id" title="keyword">Definition</span> <a name="Cfun"><span class="id" title="definition">Cfun</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun_key"><span class="id" title="lemma">classfun_key</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">flag</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> ⇒ <a class="idref" href="mathcomp.character.classfun.html#Classfun"><span class="id" title="constructor">Classfun</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_subType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">subType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">for</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_val"><span class="id" title="projection">cfun_val</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_eqMixin"><span class="id" title="definition">cfun_eqMixin</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">eqMixin</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation"><:]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_eqType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.EqType"><span class="id" title="abbreviation">EqType</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_eqMixin"><span class="id" title="definition">cfun_eqMixin</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_choiceMixin"><span class="id" title="definition">cfun_choiceMixin</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">choiceMixin</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation"><:]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_choiceType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_choiceMixin"><span class="id" title="definition">cfun_choiceMixin</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="fun_of_cfun"><span class="id" title="definition">fun_of_cfun</span></a> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.character.classfun.html#cfun_val"><span class="id" title="projection">cfun_val</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#Defs.gT"><span class="id" title="variable">gT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a>.<br/> +<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.character.classfun.html#fun_of_cfun"><span class="id" title="definition">fun_of_cfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#fun_of_cfun"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#fun_of_cfun"><span class="id" title="definition">classfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#fun_of_cfun"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.character.classfun.html#fun_of_cfun"><span class="id" title="definition">Funclass</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfunElock"><span class="id" title="lemma">cfunElock</span></a> <span class="id" title="var">k</span> <span class="id" title="var">f</span> <span class="id" title="var">fP</span> : @<a class="idref" href="mathcomp.character.classfun.html#Cfun"><span class="id" title="definition">Cfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#k"><span class="id" title="variable">k</span></a> (<a class="idref" href="mathcomp.ssreflect.finfun.html#finfun"><span class="id" title="abbreviation">finfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a>) <a class="idref" href="mathcomp.character.classfun.html#fP"><span class="id" title="variable">fP</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfunE"><span class="id" title="lemma">cfunE</span></a> <span class="id" title="var">f</span> <span class="id" title="var">fP</span> : @<a class="idref" href="mathcomp.character.classfun.html#Cfun"><span class="id" title="definition">Cfun</span></a> 0 (<a class="idref" href="mathcomp.ssreflect.finfun.html#finfun"><span class="id" title="abbreviation">finfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a>) <a class="idref" href="mathcomp.character.classfun.html#fP"><span class="id" title="variable">fP</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfunP"><span class="id" title="lemma">cfunP</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun0gen"><span class="id" title="lemma">cfun0gen</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_in_genP"><span class="id" title="lemma">cfun_in_genP</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfunJgen"><span class="id" title="lemma">cfunJgen</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_zero_subproof"><span class="id" title="lemma">cfun_zero_subproof</span></a> : <a class="idref" href="mathcomp.character.classfun.html#is_class_fun"><span class="id" title="definition">is_class_fun</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> (0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a>).<br/> + <span class="id" title="keyword">Definition</span> <a name="cfun_zero"><span class="id" title="definition">cfun_zero</span></a> := <a class="idref" href="mathcomp.character.classfun.html#Cfun"><span class="id" title="definition">Cfun</span></a> 0 <a class="idref" href="mathcomp.character.classfun.html#cfun_zero_subproof"><span class="id" title="lemma">cfun_zero_subproof</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_comp_subproof"><span class="id" title="lemma">cfun_comp_subproof</span></a> <span class="id" title="var">f</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#is_class_fun"><span class="id" title="definition">is_class_fun</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>)<a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_comp"><span class="id" title="definition">cfun_comp</span></a> <span class="id" title="var">f</span> <span class="id" title="var">f0</span> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.character.classfun.html#Cfun"><span class="id" title="definition">Cfun</span></a> 0 (@<a class="idref" href="mathcomp.character.classfun.html#cfun_comp_subproof"><span class="id" title="lemma">cfun_comp_subproof</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#f0"><span class="id" title="variable">f0</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_opp"><span class="id" title="definition">cfun_opp</span></a> := <a class="idref" href="mathcomp.character.classfun.html#cfun_comp"><span class="id" title="definition">cfun_comp</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.oppr0"><span class="id" title="definition">oppr0</span></a> <span class="id" title="var">_</span>).<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_add_subproof"><span class="id" title="lemma">cfun_add_subproof</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#is_class_fun"><span class="id" title="definition">is_class_fun</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_add"><span class="id" title="definition">cfun_add</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> := <a class="idref" href="mathcomp.character.classfun.html#Cfun"><span class="id" title="definition">Cfun</span></a> 0 (<a class="idref" href="mathcomp.character.classfun.html#cfun_add_subproof"><span class="id" title="lemma">cfun_add_subproof</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_indicator_subproof"><span class="id" title="lemma">cfun_indicator_subproof</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#Defs.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#is_class_fun"><span class="id" title="definition">is_class_fun</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#30988ee242f08216f4b40cf90b42b816"><span class="id" title="notation">^:</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_indicator"><span class="id" title="definition">cfun_indicator</span></a> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.character.classfun.html#Cfun"><span class="id" title="definition">Cfun</span></a> 1 (<a class="idref" href="mathcomp.character.classfun.html#cfun_indicator_subproof"><span class="id" title="lemma">cfun_indicator_subproof</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun1Egen"><span class="id" title="lemma">cfun1Egen</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">_G</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_mul_subproof"><span class="id" title="lemma">cfun_mul_subproof</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#is_class_fun"><span class="id" title="definition">is_class_fun</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_mul"><span class="id" title="definition">cfun_mul</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> := <a class="idref" href="mathcomp.character.classfun.html#Cfun"><span class="id" title="definition">Cfun</span></a> 0 (<a class="idref" href="mathcomp.character.classfun.html#cfun_mul_subproof"><span class="id" title="lemma">cfun_mul_subproof</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_unit"><span class="id" title="definition">cfun_unit</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ba4e2de877832f7c061554da0cb06dd3"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ba4e2de877832f7c061554da0cb06dd3"><span class="id" title="notation">pred</span></a> <span class="id" title="var">phi</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ba4e2de877832f7c061554da0cb06dd3"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ba4e2de877832f7c061554da0cb06dd3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#0a2353937835d965c09d6cd592199019"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#0a2353937835d965c09d6cd592199019"><span class="id" title="notation">∀</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#0a2353937835d965c09d6cd592199019"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="mathcomp.ssreflect.fintype.html#0a2353937835d965c09d6cd592199019"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ba4e2de877832f7c061554da0cb06dd3"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_inv"><span class="id" title="definition">cfun_inv</span></a> <span class="id" title="var">phi</span> :=<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_unit"><span class="id" title="definition">cfun_unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_comp"><span class="id" title="definition">cfun_comp</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.invr0"><span class="id" title="definition">invr0</span></a> <span class="id" title="var">_</span>) <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_scale"><span class="id" title="definition">cfun_scale</span></a> <span class="id" title="var">a</span> := <a class="idref" href="mathcomp.character.classfun.html#cfun_comp"><span class="id" title="definition">cfun_comp</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.mulr0"><span class="id" title="definition">mulr0</span></a> <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_addA"><span class="id" title="lemma">cfun_addA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_add"><span class="id" title="definition">cfun_add</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="cfun_addC"><span class="id" title="lemma">cfun_addC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_add"><span class="id" title="definition">cfun_add</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="cfun_add0"><span class="id" title="lemma">cfun_add0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_zero"><span class="id" title="definition">cfun_zero</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_add"><span class="id" title="definition">cfun_add</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="cfun_addN"><span class="id" title="lemma">cfun_addN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_zero"><span class="id" title="definition">cfun_zero</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_opp"><span class="id" title="definition">cfun_opp</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_add"><span class="id" title="definition">cfun_add</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_zmodMixin"><span class="id" title="definition">cfun_zmodMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.ZmodMixin"><span class="id" title="abbreviation">ZmodMixin</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_addA"><span class="id" title="lemma">cfun_addA</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_addC"><span class="id" title="lemma">cfun_addC</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_add0"><span class="id" title="lemma">cfun_add0</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_addN"><span class="id" title="lemma">cfun_addN</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_zmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.ZmodType"><span class="id" title="abbreviation">ZmodType</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_zmodMixin"><span class="id" title="definition">cfun_zmodMixin</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="muln_cfunE"><span class="id" title="lemma">muln_cfunE</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sum_cfunE"><span class="id" title="lemma">sum_cfunE</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a>) <span class="id" title="var">x</span> :<br/> + (<a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_mulA"><span class="id" title="lemma">cfun_mulA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_mul"><span class="id" title="definition">cfun_mul</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="cfun_mulC"><span class="id" title="lemma">cfun_mulC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_mul"><span class="id" title="definition">cfun_mul</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="cfun_mul1"><span class="id" title="lemma">cfun_mul1</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">_G</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_mul"><span class="id" title="definition">cfun_mul</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_mulD"><span class="id" title="lemma">cfun_mulD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_mul"><span class="id" title="definition">cfun_mul</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_add"><span class="id" title="definition">cfun_add</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="cfun_nz1"><span class="id" title="lemma">cfun_nz1</span></a> : <a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">_G</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_ringMixin"><span class="id" title="definition">cfun_ringMixin</span></a> :=<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.ComRingMixin"><span class="id" title="abbreviation">ComRingMixin</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_mulA"><span class="id" title="lemma">cfun_mulA</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_mulC"><span class="id" title="lemma">cfun_mulC</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_mul1"><span class="id" title="lemma">cfun_mul1</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_mulD"><span class="id" title="lemma">cfun_mulD</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_nz1"><span class="id" title="lemma">cfun_nz1</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_ringType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.RingType"><span class="id" title="abbreviation">RingType</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_ringMixin"><span class="id" title="definition">cfun_ringMixin</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_comRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.ComRingType"><span class="id" title="abbreviation">ComRingType</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_mulC"><span class="id" title="lemma">cfun_mulC</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="expS_cfunE"><span class="id" title="lemma">expS_cfunE</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>) <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_mulV"><span class="id" title="lemma">cfun_mulV</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_unit"><span class="id" title="definition">cfun_unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> 1 <a class="idref" href="mathcomp.character.classfun.html#cfun_inv"><span class="id" title="definition">cfun_inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_unitP"><span class="id" title="lemma">cfun_unitP</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_unit"><span class="id" title="definition">cfun_unit</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_inv0id"><span class="id" title="lemma">cfun_inv0id</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#c2f58fba484177bda65c2ab1289a6fe6"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#c2f58fba484177bda65c2ab1289a6fe6"><span class="id" title="notation">predC</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_unit"><span class="id" title="definition">cfun_unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#c2f58fba484177bda65c2ab1289a6fe6"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_inv"><span class="id" title="definition">cfun_inv</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_unitMixin"><span class="id" title="definition">cfun_unitMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Exports.ComUnitRingMixin"><span class="id" title="abbreviation">ComUnitRingMixin</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_mulV"><span class="id" title="lemma">cfun_mulV</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_unitP"><span class="id" title="lemma">cfun_unitP</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_inv0id"><span class="id" title="lemma">cfun_inv0id</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_unitRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.UnitRingType"><span class="id" title="abbreviation">UnitRingType</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_unitMixin"><span class="id" title="definition">cfun_unitMixin</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_comUnitRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_scaleA"><span class="id" title="lemma">cfun_scaleA</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#cfun_scale"><span class="id" title="definition">cfun_scale</span></a> <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfun_scale"><span class="id" title="definition">cfun_scale</span></a> <a class="idref" href="mathcomp.character.classfun.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_scale"><span class="id" title="definition">cfun_scale</span></a> (<a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#b"><span class="id" title="variable">b</span></a>) <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="cfun_scale1"><span class="id" title="lemma">cfun_scale1</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> 1 <a class="idref" href="mathcomp.character.classfun.html#cfun_scale"><span class="id" title="definition">cfun_scale</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="cfun_scaleDr"><span class="id" title="lemma">cfun_scaleDr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_scale"><span class="id" title="definition">cfun_scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#327bb2f0da6fd7c01a004dedcfc2dee4"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#327bb2f0da6fd7c01a004dedcfc2dee4"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="cfun_scaleDl"><span class="id" title="lemma">cfun_scaleDl</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_scale"><span class="id" title="definition">cfun_scale</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">:</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_lmodMixin"><span class="id" title="definition">cfun_lmodMixin</span></a> :=<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.LmodMixin"><span class="id" title="abbreviation">LmodMixin</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_scaleA"><span class="id" title="lemma">cfun_scaleA</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_scale1"><span class="id" title="lemma">cfun_scale1</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_scaleDr"><span class="id" title="lemma">cfun_scaleDr</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_scaleDl"><span class="id" title="lemma">cfun_scaleDl</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_lmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_lmodMixin"><span class="id" title="definition">cfun_lmodMixin</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_scaleAl"><span class="id" title="lemma">cfun_scaleAl</span></a> <span class="id" title="var">a</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="cfun_scaleAr"><span class="id" title="lemma">cfun_scaleAr</span></a> <span class="id" title="var">a</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_lalgType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Exports.LalgType"><span class="id" title="abbreviation">LalgType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_scaleAl"><span class="id" title="lemma">cfun_scaleAl</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_algType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Exports.AlgType"><span class="id" title="abbreviation">AlgType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_scaleAr"><span class="id" title="lemma">cfun_scaleAr</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_unitAlgType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">unitAlgType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Defs.Automorphism"><span class="id" title="section">Automorphism</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="Defs.Automorphism.u"><span class="id" title="variable">u</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfAut"><span class="id" title="definition">cfAut</span></a> := <a class="idref" href="mathcomp.character.classfun.html#cfun_comp"><span class="id" title="definition">cfun_comp</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorph0"><span class="id" title="definition">rmorph0</span></a> <a class="idref" href="mathcomp.character.classfun.html#Defs.Automorphism.u"><span class="id" title="variable">u</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAut_cfun1i"><span class="id" title="lemma">cfAut_cfun1i</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">_A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">_A</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutZ"><span class="id" title="lemma">cfAutZ</span></a> <span class="id" title="var">a</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> (<a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#Defs.Automorphism.u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAut_is_rmorphism"><span class="id" title="lemma">cfAut_is_rmorphism</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfAut_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfAut_is_rmorphism"><span class="id" title="lemma">cfAut_is_rmorphism</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfAut_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.RMorphism"><span class="id" title="abbreviation">RMorphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfAut_is_rmorphism"><span class="id" title="lemma">cfAut_is_rmorphism</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAut_cfun1"><span class="id" title="lemma">cfAut_cfun1</span></a> : <a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAut_scalable"><span class="id" title="lemma">cfAut_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> (<a class="idref" href="mathcomp.character.classfun.html#Defs.Automorphism.u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c42c5cb909c30537f9f6acfcf01cf7e1"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#75c106c115e1ca6097cf58b45ce663bd"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#75c106c115e1ca6097cf58b45ce663bd"><span class="id" title="notation">R</span></a>) <a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a>.<br/> + <span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfAut_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfAut_scalable"><span class="id" title="lemma">cfAut_scalable</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfAut_lrmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfAut_closed"><span class="id" title="definition">cfAut_closed</span></a> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a>) :=<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">phi</span>, <a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Defs.Automorphism"><span class="id" title="section">Automorphism</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfReal"><span class="id" title="definition">cfReal</span></a> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.conjC"><span class="id" title="definition">conjC</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfConjC_subset"><span class="id" title="definition">cfConjC_subset</span></a> (<span class="id" title="var">S1</span> <span class="id" title="var">S2</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a>) :=<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#uniq"><span class="id" title="definition">uniq</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfAut_closed"><span class="id" title="definition">cfAut_closed</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.conjC"><span class="id" title="definition">conjC</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfun_vect_iso"><span class="id" title="lemma">cfun_vect_iso</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.axiom"><span class="id" title="abbreviation">Vector.axiom</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#classes"><span class="id" title="definition">classes</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_vectMixin"><span class="id" title="definition">cfun_vectMixin</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports.VectMixin"><span class="id" title="abbreviation">VectMixin</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_vect_iso"><span class="id" title="lemma">cfun_vect_iso</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_vectType</span> := <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports.VectType"><span class="id" title="abbreviation">VectType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfun_vectMixin"><span class="id" title="definition">cfun_vectMixin</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_FalgType</span> := <a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a> <a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a><a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfun_base"><span class="id" title="definition">cfun_base</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#classes"><span class="id" title="definition">classes</span></a> <a class="idref" href="mathcomp.character.classfun.html#Defs.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#2dab1b186f22df1296e4090457f5abb0"><span class="id" title="notation">::&:</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#d8866adbd4a602b7b4cc275d73486ace"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#d8866adbd4a602b7b4cc275d73486ace"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> :=<br/> + <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fb029fd23b6fc39e014fe7658d797041"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fb029fd23b6fc39e014fe7658d797041"><span class="id" title="notation">seq</span></a> <a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#d28d62b8acde3620247ed5cfa5edd07d"><span class="id" title="notation">_xB</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fb029fd23b6fc39e014fe7658d797041"><span class="id" title="notation">|</span></a> <span class="id" title="var">xB</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#fb029fd23b6fc39e014fe7658d797041"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#classes"><span class="id" title="definition">classes</span></a> <a class="idref" href="mathcomp.character.classfun.html#Defs.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#2dab1b186f22df1296e4090457f5abb0"><span class="id" title="notation">::&:</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fb029fd23b6fc39e014fe7658d797041"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="classfun_on"><span class="id" title="definition">classfun_on</span></a> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.character.classfun.html#cfun_base"><span class="id" title="definition">cfun_base</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfdot"><span class="id" title="definition">cfdot</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> := <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#Defs.B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Defs.B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">)^*</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfdotr_head"><span class="id" title="definition">cfdotr_head</span></a> <span class="id" title="var">k</span> <span class="id" title="var">psi</span> <span class="id" title="var">phi</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.character.classfun.html#k"><span class="id" title="variable">k</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.character.classfun.html#cfdot"><span class="id" title="definition">cfdot</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfnorm_head"><span class="id" title="definition">cfnorm_head</span></a> <span class="id" title="var">k</span> <span class="id" title="var">phi</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.character.classfun.html#k"><span class="id" title="variable">k</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.character.classfun.html#cfdot"><span class="id" title="definition">cfdot</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Coercion</span> <span class="id" title="var">seq_of_cfun</span> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cforder"><span class="id" title="definition">cforder</span></a> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.div.html#lcmn"><span class="id" title="definition">lcmn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#d2263119ac2870c795428c0a326d9d52"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.character.classfun.html#Defs.B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#d2263119ac2870c795428c0a326d9d52"><span class="id" title="notation">>></span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.algnum.html#9e3cbdcf44a196e2f90e9ad446025ea4"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.algnum.html#9e3cbdcf44a196e2f90e9ad446025ea4"><span class="id" title="notation">]</span></a>%<span class="id" title="var">C</span>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Defs"><span class="id" title="section">Defs</span></a>.<br/> + +<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">"</span></a>''CF' ( G )" := (<a class="idref" href="mathcomp.character.classfun.html#classfun"><span class="id" title="record">classfun</span></a> <span class="id" title="var">G</span>) : <span class="id" title="var">type_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="fde9a6e175b8bc462bfd1b35ec92d77c"><span class="id" title="notation">"</span></a>''CF' ( G )" := (@<a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a> <span class="id" title="var">_</span> (<a class="idref" href="mathcomp.character.classfun.html#cfun_vectType"><span class="id" title="definition">cfun_vectType</span></a> <span class="id" title="var">G</span>)) : <span class="id" title="var">vspace_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">"</span></a>''1_' A" := (<a class="idref" href="mathcomp.character.classfun.html#cfun_indicator"><span class="id" title="definition">cfun_indicator</span></a> <span class="id" title="var">_</span> <span class="id" title="var">A</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">"</span></a>''CF' ( G , A )" := (<a class="idref" href="mathcomp.character.classfun.html#classfun_on"><span class="id" title="definition">classfun_on</span></a> <span class="id" title="var">G</span> <span class="id" title="var">A</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="1a2ee64e926058158d2ae8b62dfa7035"><span class="id" title="notation">"</span></a>1" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.one"><span class="id" title="definition">GRing.one</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfun_ringType"><span class="id" title="definition">cfun_ringType</span></a> <span class="id" title="var">_</span>)) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">cfun_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">"</span></a>phi ^*" := (<a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.conjC"><span class="id" title="definition">conjC</span></a> <span class="id" title="var">phi</span>) : <span class="id" title="var">cfun_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="cfConjC_closed"><span class="id" title="abbreviation">cfConjC_closed</span></a> := (<a class="idref" href="mathcomp.character.classfun.html#cfAut_closed"><span class="id" title="definition">cfAut_closed</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.conjC"><span class="id" title="definition">conjC</span></a>).<br/> +</div> + +<div class="doc"> + Workaround for overeager projection reduction. +</div> +<div class="code"> +<span class="id" title="keyword">Notation</span> <a name="eqcfP"><span class="id" title="abbreviation">eqcfP</span></a> := (@<a class="idref" href="mathcomp.ssreflect.eqtype.html#eqP"><span class="id" title="lemma">eqP</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfun_eqType"><span class="id" title="definition">cfun_eqType</span></a> <span class="id" title="var">_</span>) <span class="id" title="var">_</span> <span class="id" title="var">_</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="3092b75835fa32d4efa2404130819774"><span class="id" title="notation">"</span></a>#[ phi ]" := (<a class="idref" href="mathcomp.character.classfun.html#cforder"><span class="id" title="definition">cforder</span></a> <span class="id" title="var">phi</span>) : <span class="id" title="var">cfun_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">"</span></a>''[' u , v ]_ G":= (@<a class="idref" href="mathcomp.character.classfun.html#cfdot"><span class="id" title="definition">cfdot</span></a> <span class="id" title="var">_</span> <span class="id" title="var">G</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">"</span></a>''[' u , v ]" := (<a class="idref" href="mathcomp.character.classfun.html#cfdot"><span class="id" title="definition">cfdot</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="e1115aaaeda43358056e5a1b0efbeb06"><span class="id" title="notation">"</span></a>''[' u ]_ G" := <a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">'[</span></a><span class="id" title="var">u</span><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">,</span></a> <span class="id" title="var">u</span><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">_G</span></a> (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">"</span></a>''[' u ]" := <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><span class="id" title="var">u</span><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <span class="id" title="var">u</span><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="cfdotr"><span class="id" title="abbreviation">cfdotr</span></a> := (<a class="idref" href="mathcomp.character.classfun.html#cfdotr_head"><span class="id" title="definition">cfdotr_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a>).<br/> +<span class="id" title="keyword">Notation</span> <a name="cfnorm"><span class="id" title="abbreviation">cfnorm</span></a> := (<a class="idref" href="mathcomp.character.classfun.html#cfnorm_head"><span class="id" title="definition">cfnorm_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Predicates"><span class="id" title="section">Predicates</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="Predicates.gT"><span class="id" title="variable">gT</span></a> <a name="Predicates.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="Predicates.D"><span class="id" title="variable">D</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<a name="Predicates.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><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">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Predicates.D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Predicates.D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">tau</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Predicates.D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Predicates.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfker"><span class="id" title="definition">cfker</span></a> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Predicates.D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#6f09da91da7950fd65c31195ac4a5d3e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#6f09da91da7950fd65c31195ac4a5d3e"><span class="id" title="notation">∀</span></a> <span class="id" title="var">y</span><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#6f09da91da7950fd65c31195ac4a5d3e"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfaithful"><span class="id" title="definition">cfaithful</span></a> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c33afa16525556de4ed568ad52c9389f"><span class="id" title="notation">[1]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="ortho_rec"><span class="id" title="definition">ortho_rec</span></a> <span class="id" title="var">S1</span> <span class="id" title="var">S2</span> :=<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/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">pred</span></a> <span class="id" title="var">phi</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">pred</span></a> <span class="id" title="var">psi</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fixpoint</span> <a name="pair_ortho_rec"><span class="id" title="definition">pair_ortho_rec</span></a> <span class="id" title="var">S</span> := <br/> + <span class="id" title="keyword">if</span> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <span class="id" title="keyword">is</span> <span class="id" title="var">psi</span> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <span class="id" title="var">S'</span> <span class="id" title="keyword">then</span> <a class="idref" href="mathcomp.character.classfun.html#ortho_rec"><span class="id" title="definition">ortho_rec</span></a> <span class="id" title="var">psi</span> <span class="id" title="var">S'</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.character.classfun.html#pair_ortho_rec"><span class="id" title="definition">pair_ortho_rec</span></a> <span class="id" title="var">S'</span> <span class="id" title="keyword">else</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + We exclude 0 from pairwise orthogonal sets. +</div> +<div class="code"> +<span class="id" title="keyword">Definition</span> <a name="pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <span class="id" title="var">S</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.character.classfun.html#pair_ortho_rec"><span class="id" title="definition">pair_ortho_rec</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="orthonormal"><span class="id" title="definition">orthonormal</span></a> <span class="id" title="var">S</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">pred</span></a> <span class="id" title="var">psi</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.character.classfun.html#pair_ortho_rec"><span class="id" title="definition">pair_ortho_rec</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="isometry"><span class="id" title="definition">isometry</span></a> <span class="id" title="var">tau</span> := <span class="id" title="keyword">∀</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span>, <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="isometry_from_to"><span class="id" title="definition">isometry_from_to</span></a> <span class="id" title="var">mCFD</span> <span class="id" title="var">tau</span> <span class="id" title="var">mCFR</span> :=<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#prop_in2"><span class="id" title="definition">prop_in2</span></a> <a class="idref" href="mathcomp.character.classfun.html#mCFD"><span class="id" title="variable">mCFD</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#inPhantom"><span class="id" title="definition">inPhantom</span></a> (<a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> <a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a>))<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#prop_in1"><span class="id" title="definition">prop_in1</span></a> <a class="idref" href="mathcomp.character.classfun.html#mCFD"><span class="id" title="variable">mCFD</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#inPhantom"><span class="id" title="definition">inPhantom</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">phi</span>, <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#in_mem"><span class="id" title="definition">in_mem</span></a> (<a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="mathcomp.character.classfun.html#mCFR"><span class="id" title="variable">mCFR</span></a>)).<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Predicates"><span class="id" title="section">Predicates</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + Outside section so the nosimpl does not get "cooked" out. +</div> +<div class="code"> +<span class="id" title="keyword">Definition</span> <a name="orthogonal"><span class="id" title="definition">orthogonal</span></a> <span class="id" title="var">gT</span> <span class="id" title="var">D</span> <span class="id" title="var">S1</span> <span class="id" title="var">S2</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#nosimpl"><span class="id" title="abbreviation">nosimpl</span></a> (@<a class="idref" href="mathcomp.character.classfun.html#ortho_rec"><span class="id" title="definition">ortho_rec</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a> <a class="idref" href="mathcomp.character.classfun.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a>).<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="a599128736d70e142550ed6520a98950"><span class="id" title="notation">"</span></a>{ 'in' CFD , 'isometry' tau , 'to' CFR }" :=<br/> + (<a class="idref" href="mathcomp.character.classfun.html#isometry_from_to"><span class="id" title="definition">isometry_from_to</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">CFD</span>) <span class="id" title="var">tau</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">CFR</span>))<br/> + (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "{ 'in' CFD , 'isometry' tau , 'to' CFR }")<br/> + : <span class="id" title="var">type_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="ClassFun"><span class="id" title="section">ClassFun</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="ClassFun.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="ClassFun.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">H</span> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">phi</span> <span class="id" title="var">psi</span> <span class="id" title="var">xi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun0"><span class="id" title="lemma">cfun0</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="support_cfun"><span class="id" title="lemma">support_cfun</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#support"><span class="id" title="abbreviation">support</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfunJ"><span class="id" title="lemma">cfunJ</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_repr"><span class="id" title="lemma">cfun_repr</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#repr"><span class="id" title="definition">repr</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#30988ee242f08216f4b40cf90b42b816"><span class="id" title="notation">^:</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a>)) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_inP"><span class="id" title="lemma">cfun_inP</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfuniE"><span class="id" title="lemma">cfuniE</span></a> <span class="id" title="var">A</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">_A</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="support_cfuni"><span class="id" title="lemma">support_cfuni</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#support"><span class="id" title="abbreviation">support</span></a> <a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">_A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="eq_mul_cfuni"><span class="id" title="lemma">eq_mul_cfuni</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">_A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="eq_cfuni"><span class="id" title="lemma">eq_cfuni</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">_A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">(</span></a>1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfuniG"><span class="id" title="lemma">cfuniG</span></a> : <a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">_G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun1E"><span class="id" title="lemma">cfun1E</span></a> <span class="id" title="var">g</span> : (1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) <a class="idref" href="mathcomp.character.classfun.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun11"><span class="id" title="lemma">cfun11</span></a> : (1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="prod_cfunE"><span class="id" title="lemma">prod_cfunE</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">)</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="exp_cfunE"><span class="id" title="lemma">exp_cfunE</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mul_cfuni"><span class="id" title="lemma">mul_cfuni</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">_A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">_B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_classE"><span class="id" title="lemma">cfun_classE</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#30988ee242f08216f4b40cf90b42b816"><span class="id" title="notation">^:</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#30988ee242f08216f4b40cf90b42b816"><span class="id" title="notation">^:</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_on_sum"><span class="id" title="lemma">cfun_on_sum</span></a> <span class="id" title="var">A</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#b498783332edc3e3ea79e152764033f3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#b498783332edc3e3ea79e152764033f3"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#b498783332edc3e3ea79e152764033f3"><span class="id" title="notation">(</span></a><span class="id" title="var">xG</span> <a class="idref" href="mathcomp.algebra.vector.html#b498783332edc3e3ea79e152764033f3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#classes"><span class="id" title="definition">classes</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b498783332edc3e3ea79e152764033f3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#xG"><span class="id" title="variable">xG</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.vector.html#b498783332edc3e3ea79e152764033f3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">_xG</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><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="cfun_onP"><span class="id" title="lemma">cfun_onP</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0) (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_on0"><span class="id" title="lemma">cfun_on0</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sum_by_classes"><span class="id" title="lemma">sum_by_classes</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.character.classfun.html#ClassFun.gT"><span class="id" title="variable">gT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">g</span> <span class="id" title="var">h</span>, <a class="idref" href="mathcomp.character.classfun.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.character.classfun.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.classfun.html#h"><span class="id" title="variable">h</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.classfun.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">g</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.classfun.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">xG</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#classes"><span class="id" title="definition">classes</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#xG"><span class="id" title="variable">xG</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#repr"><span class="id" title="definition">repr</span></a> <a class="idref" href="mathcomp.character.classfun.html#xG"><span class="id" title="variable">xG</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_base_free"><span class="id" title="lemma">cfun_base_free</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfun_base"><span class="id" title="definition">cfun_base</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="dim_cfun"><span class="id" title="lemma">dim_cfun</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#classes"><span class="id" title="definition">classes</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="dim_cfun_on"><span class="id" title="lemma">dim_cfun_on</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#classes"><span class="id" title="definition">classes</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#2dab1b186f22df1296e4090457f5abb0"><span class="id" title="notation">::&:</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="dim_cfun_on_abelian"><span class="id" title="lemma">dim_cfun_on_abelian</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfuni_on"><span class="id" title="lemma">cfuni_on</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#6eaebbc3606793e006c3e4f06a0b870e"><span class="id" title="notation">_A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mul_cfuni_on"><span class="id" title="lemma">mul_cfuni_on</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">_A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_onE"><span class="id" title="lemma">cfun_onE</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#support"><span class="id" title="abbreviation">support</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_onT"><span class="id" title="lemma">cfun_onT</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_onD1"><span class="id" title="lemma">cfun_onD1</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">A</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#adb8044960c962a921cca1bd48aae97d"><span class="id" title="notation">^#</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_onG"><span class="id" title="lemma">cfun_onG</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfunD1E"><span class="id" title="lemma">cfunD1E</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#adb8044960c962a921cca1bd48aae97d"><span class="id" title="notation">^#</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfunGid"><span class="id" title="lemma">cfunGid</span></a> : <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><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="cfun_onS"><span class="id" title="lemma">cfun_onS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfun_complement"><span class="id" title="lemma">cfun_complement</span></a> <span class="id" title="var">A</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#706deac9766015ea164a28957c46a7b4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a>%<span class="id" title="var">SET</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#fde9a6e175b8bc462bfd1b35ec92d77c"><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="cfConjCE"><span class="id" title="lemma">cfConjCE</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a>)%<span class="id" title="var">CF</span> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">)^*</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfConjCK"><span class="id" title="lemma">cfConjCK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">phi</span> ⇒ <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a>)%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfConjC_cfun1"><span class="id" title="lemma">cfConjC_cfun1</span></a> : (1<a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a>)%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + Class function kernel and faithful class functions +</div> +<div class="code"> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfker_is_group"><span class="id" title="lemma">cfker_is_group</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#group_set"><span class="id" title="definition">group_set</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfker_group</span> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#Group"><span class="id" title="constructor">Group</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfker_is_group"><span class="id" title="lemma">cfker_is_group</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_sub"><span class="id" title="lemma">cfker_sub</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_norm"><span class="id" title="lemma">cfker_norm</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_normal"><span class="id" title="lemma">cfker_normal</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfkerMl"><span class="id" title="lemma">cfkerMl</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfkerMr"><span class="id" title="lemma">cfkerMr</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker1"><span class="id" title="lemma">cfker1</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_cfun0"><span class="id" title="lemma">cfker_cfun0</span></a> : @<a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_add"><span class="id" title="lemma">cfker_add</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_sum"><span class="id" title="lemma">cfker_sum</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">Phi</span> : <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#Phi"><span class="id" title="variable">Phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>)<br/> + <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#Phi"><span class="id" title="variable">Phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_scale"><span class="id" title="lemma">cfker_scale</span></a> <span class="id" title="var">a</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_scale_nz"><span class="id" title="lemma">cfker_scale_nz</span></a> <span class="id" title="var">a</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_opp"><span class="id" title="lemma">cfker_opp</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_cfun1"><span class="id" title="lemma">cfker_cfun1</span></a> : @<a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_mul"><span class="id" title="lemma">cfker_mul</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_prod"><span class="id" title="lemma">cfker_prod</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">Phi</span> : <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#ClassFun.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#Phi"><span class="id" title="variable">Phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>)<br/> + <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#Phi"><span class="id" title="variable">Phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfaithfulE"><span class="id" title="lemma">cfaithfulE</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfaithful"><span class="id" title="definition">cfaithful</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c33afa16525556de4ed568ad52c9389f"><span class="id" title="notation">[1]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#ClassFun"><span class="id" title="section">ClassFun</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">"</span></a>''CF' ( G , A )" := (<a class="idref" href="mathcomp.character.classfun.html#classfun_on"><span class="id" title="definition">classfun_on</span></a> <span class="id" title="var">G</span> <span class="id" title="var">A</span>) : <span class="id" title="var">ring_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">cfun_onT</span>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="DotProduct"><span class="id" title="section">DotProduct</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> (<a name="DotProduct.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="DotProduct.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">M</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#DotProduct.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">phi</span> <span class="id" title="var">psi</span> <span class="id" title="var">xi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R</span> <span class="id" title="var">S</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdotE"><span class="id" title="lemma">cfdotE</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">)^*</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdotElr"><span class="id" title="lemma">cfdotElr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">)^*</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdotEl"><span class="id" title="lemma">cfdotEl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">)^*</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdotEr"><span class="id" title="lemma">cfdotEr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">)^*</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot_complement"><span class="id" title="lemma">cfdot_complement</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnormE"><span class="id" title="lemma">cfnormE</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> 2<a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="eq_cfdotl"><span class="id" title="lemma">eq_cfdotl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi1</span> <span class="id" title="var">phi2</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi1"><span class="id" title="variable">phi1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi2"><span class="id" title="variable">phi2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi1"><span class="id" title="variable">phi1</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi2"><span class="id" title="variable">phi2</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot_cfuni"><span class="id" title="lemma">cfdot_cfuni</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">_A</span></a><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">_B</span></a><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">_G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4fa85b0aa898c2a7e18c3b076438c2e7"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnorm1"><span class="id" title="lemma">cfnorm1</span></a> : <a class="idref" href="mathcomp.character.classfun.html#e1115aaaeda43358056e5a1b0efbeb06"><span class="id" title="notation">'[</span></a>1<a class="idref" href="mathcomp.character.classfun.html#e1115aaaeda43358056e5a1b0efbeb06"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.character.classfun.html#e1115aaaeda43358056e5a1b0efbeb06"><span class="id" title="notation">_G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdotrE"><span class="id" title="lemma">cfdotrE</span></a> <span class="id" title="var">psi</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfdotr"><span class="id" title="abbreviation">cfdotr</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdotr_is_linear"><span class="id" title="lemma">cfdotr_is_linear</span></a> <span class="id" title="var">xi</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.linear"><span class="id" title="abbreviation">linear</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfdotr"><span class="id" title="abbreviation">cfdotr</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c2b6ed6fbc6f0b41c6ad09005b7580b6"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c2b6ed6fbc6f0b41c6ad09005b7580b6"><span class="id" title="notation">o</span></a>).<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfdotr_additive</span> <span class="id" title="var">xi</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfdotr_is_linear"><span class="id" title="lemma">cfdotr_is_linear</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a>).<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfdotr_linear</span> <span class="id" title="var">xi</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.Linear"><span class="id" title="abbreviation">Linear</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfdotr_is_linear"><span class="id" title="lemma">cfdotr_is_linear</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot0l"><span class="id" title="lemma">cfdot0l</span></a> <span class="id" title="var">xi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a>0<a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfdotNl"><span class="id" title="lemma">cfdotNl</span></a> <span class="id" title="var">xi</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfdotDl"><span class="id" title="lemma">cfdotDl</span></a> <span class="id" title="var">xi</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfdotBl"><span class="id" title="lemma">cfdotBl</span></a> <span class="id" title="var">xi</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfdotMnl"><span class="id" title="lemma">cfdotMnl</span></a> <span class="id" title="var">xi</span> <span class="id" title="var">phi</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfdot_suml"><span class="id" title="lemma">cfdot_suml</span></a> <span class="id" title="var">xi</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfdotZl"><span class="id" title="lemma">cfdotZl</span></a> <span class="id" title="var">xi</span> <span class="id" title="var">a</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdotC"><span class="id" title="lemma">cfdotC</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">)^*</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="eq_cfdotr"><span class="id" title="lemma">eq_cfdotr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi1</span> <span class="id" title="var">psi2</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi1"><span class="id" title="variable">psi1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi2"><span class="id" title="variable">psi2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi1"><span class="id" title="variable">psi1</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi2"><span class="id" title="variable">psi2</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdotBr"><span class="id" title="lemma">cfdotBr</span></a> <span class="id" title="var">xi</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + <span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfun_dot_additive</span> <span class="id" title="var">xi</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfdotBr"><span class="id" title="lemma">cfdotBr</span></a> <a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot0r"><span class="id" title="lemma">cfdot0r</span></a> <span class="id" title="var">xi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> 0<a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0. <br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdotNr"><span class="id" title="lemma">cfdotNr</span></a> <span class="id" title="var">xi</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfdotDr"><span class="id" title="lemma">cfdotDr</span></a> <span class="id" title="var">xi</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfdotMnr"><span class="id" title="lemma">cfdotMnr</span></a> <span class="id" title="var">xi</span> <span class="id" title="var">phi</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfdot_sumr"><span class="id" title="lemma">cfdot_sumr</span></a> <span class="id" title="var">xi</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.classfun.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfdotZr"><span class="id" title="lemma">cfdotZr</span></a> <span class="id" title="var">a</span> <span class="id" title="var">xi</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">^*</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#xi"><span class="id" title="variable">xi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot_cfAut"><span class="id" title="lemma">cfdot_cfAut</span></a> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>) <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#image"><span class="id" title="abbreviation">image</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.classfun.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">^*</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.character.classfun.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.character.classfun.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot_conjC"><span class="id" title="lemma">cfdot_conjC</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">^*</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot_conjCl"><span class="id" title="lemma">cfdot_conjCl</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">^*</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot_conjCr"><span class="id" title="lemma">cfdot_conjCr</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">^*</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnorm_ge0"><span class="id" title="lemma">cfnorm_ge0</span></a> <span class="id" title="var">phi</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnorm_eq0"><span class="id" title="lemma">cfnorm_eq0</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnorm_gt0"><span class="id" title="lemma">cfnorm_gt0</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#07bcd9d86ae6b6828fbc17b15193853f"><span class="id" title="notation">></span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sqrt_cfnorm_ge0"><span class="id" title="lemma">sqrt_cfnorm_ge0</span></a> <span class="id" title="var">phi</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.sqrtC"><span class="id" title="abbreviation">sqrtC</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sqrt_cfnorm_eq0"><span class="id" title="lemma">sqrt_cfnorm_eq0</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.sqrtC"><span class="id" title="abbreviation">sqrtC</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sqrt_cfnorm_gt0"><span class="id" title="lemma">sqrt_cfnorm_gt0</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.sqrtC"><span class="id" title="abbreviation">sqrtC</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#07bcd9d86ae6b6828fbc17b15193853f"><span class="id" title="notation">></span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnormZ"><span class="id" title="lemma">cfnormZ</span></a> <span class="id" title="var">a</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#e1115aaaeda43358056e5a1b0efbeb06"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e1115aaaeda43358056e5a1b0efbeb06"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.character.classfun.html#e1115aaaeda43358056e5a1b0efbeb06"><span class="id" title="notation">_G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnormN"><span class="id" title="lemma">cfnormN</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnorm_sign"><span class="id" title="lemma">cfnorm_sign</span></a> <span class="id" title="var">n</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnormD"><span class="id" title="lemma">cfnormD</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <span class="id" title="keyword">let</span> <span class="id" title="var">d</span> := <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">^*</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnormB"><span class="id" title="lemma">cfnormB</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <span class="id" title="keyword">let</span> <span class="id" title="var">d</span> := <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">^*</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnormDd"><span class="id" title="lemma">cfnormDd</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnormBd"><span class="id" title="lemma">cfnormBd</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnorm_conjC"><span class="id" title="lemma">cfnorm_conjC</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfCauchySchwarz"><span class="id" title="lemma">cfCauchySchwarz</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssrnum.html#79bf01a504ffcda65f8e3d816a5515cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#79bf01a504ffcda65f8e3d816a5515cd"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#79bf01a504ffcda65f8e3d816a5515cd"><span class="id" title="notation">iff</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfCauchySchwarz_sqrt"><span class="id" title="lemma">cfCauchySchwarz_sqrt</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#79bf01a504ffcda65f8e3d816a5515cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.sqrtC"><span class="id" title="abbreviation">sqrtC</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.sqrtC"><span class="id" title="abbreviation">sqrtC</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#79bf01a504ffcda65f8e3d816a5515cd"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#79bf01a504ffcda65f8e3d816a5515cd"><span class="id" title="notation">iff</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cf_triangle_lerif"><span class="id" title="lemma">cf_triangle_lerif</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.sqrtC"><span class="id" title="abbreviation">sqrtC</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#79bf01a504ffcda65f8e3d816a5515cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.sqrtC"><span class="id" title="abbreviation">sqrtC</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.sqrtC"><span class="id" title="abbreviation">sqrtC</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a><br/> + <a class="idref" href="mathcomp.algebra.ssrnum.html#79bf01a504ffcda65f8e3d816a5515cd"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#79bf01a504ffcda65f8e3d816a5515cd"><span class="id" title="notation">iff</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.html#coord"><span class="id" title="definition">coord</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#b96c5fac4ea7ac478a42dc9d76e9dbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#b96c5fac4ea7ac478a42dc9d76e9dbb3"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#b96c5fac4ea7ac478a42dc9d76e9dbb3"><span class="id" title="notation">]</span></a> 0 <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthogonal_cons"><span class="id" title="lemma">orthogonal_cons</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">R</span> <span class="id" title="var">S</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthoP"><span class="id" title="lemma">orthoP</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0) (<a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthogonalP"><span class="id" title="lemma">orthogonalP</span></a> <span class="id" title="var">S</span> <span class="id" title="var">R</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span>, <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthoPl"><span class="id" title="lemma">orthoPl</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">S</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">psi</span>, <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthogonal_sym"><span class="id" title="lemma">orthogonal_sym</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#symmetric"><span class="id" title="definition">symmetric</span></a> (@<a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthoPr"><span class="id" title="lemma">orthoPr</span></a> <span class="id" title="var">S</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">phi</span>, <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="eq_orthogonal"><span class="id" title="lemma">eq_orthogonal</span></a> <span class="id" title="var">R1</span> <span class="id" title="var">R2</span> <span class="id" title="var">S1</span> <span class="id" title="var">S2</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.character.classfun.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthogonal_catl"><span class="id" title="lemma">orthogonal_catl</span></a> <span class="id" title="var">R1</span> <span class="id" title="var">R2</span> <span class="id" title="var">S</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> (<a class="idref" href="mathcomp.character.classfun.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.character.classfun.html#R2"><span class="id" title="variable">R2</span></a>) <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthogonal_catr"><span class="id" title="lemma">orthogonal_catr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S1</span> <span class="id" title="var">S2</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="span_orthogonal"><span class="id" title="lemma">span_orthogonal</span></a> <span class="id" title="var">S1</span> <span class="id" title="var">S2</span> <span class="id" title="var">phi1</span> <span class="id" title="var">phi2</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi1"><span class="id" title="variable">phi1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a><a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi2"><span class="id" title="variable">phi2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a><a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi1"><span class="id" title="variable">phi1</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi2"><span class="id" title="variable">phi2</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthogonal_split"><span class="id" title="lemma">orthogonal_split</span></a> <span class="id" title="var">S</span> <span class="id" title="keyword">beta</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">{</span></a><span class="id" title="var">X</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">{</span></a><span class="id" title="var">Y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.character.classfun.html#beta"><span class="id" title="variable">beta</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.classfun.html#Y"><span class="id" title="variable">Y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#Y"><span class="id" title="variable">Y</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#Y"><span class="id" title="variable">Y</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="map_orthogonal"><span class="id" title="lemma">map_orthogonal</span></a> <span class="id" title="var">M</span> (<span class="id" title="var">nu</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) <span class="id" title="var">S</span> <span class="id" title="var">R</span> (<span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DotProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> <a class="idref" href="mathcomp.character.classfun.html#nu"><span class="id" title="variable">nu</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.character.classfun.html#nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>) (<a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.character.classfun.html#nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthogonal_oppr"><span class="id" title="lemma">orthogonal_oppr</span></a> <span class="id" title="var">S</span> <span class="id" title="var">R</span> : <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9fdf1a446ceec36bc97cce801a3ef3f2"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9fdf1a446ceec36bc97cce801a3ef3f2"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthogonal_oppl"><span class="id" title="lemma">orthogonal_oppl</span></a> <span class="id" title="var">S</span> <span class="id" title="var">R</span> : <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9fdf1a446ceec36bc97cce801a3ef3f2"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9fdf1a446ceec36bc97cce801a3ef3f2"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="pairwise_orthogonalP"><span class="id" title="lemma">pairwise_orthogonalP</span></a> <span class="id" title="var">S</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#uniq"><span class="id" title="definition">uniq</span></a> (0 <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>)<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span>, <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>)<br/> + (<a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="pairwise_orthogonal_cat"><span class="id" title="lemma">pairwise_orthogonal_cat</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> (<a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">[&&</span></a> <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="eq_pairwise_orthogonal"><span class="id" title="lemma">eq_pairwise_orthogonal</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> :<br/> + <a class="idref" href="mathcomp.ssreflect.seq.html#perm_eq"><span class="id" title="definition">perm_eq</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sub_pairwise_orthogonal"><span class="id" title="lemma">sub_pairwise_orthogonal</span></a> <span class="id" title="var">S1</span> <span class="id" title="var">S2</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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.character.classfun.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthogonal_free"><span class="id" title="lemma">orthogonal_free</span></a> <span class="id" title="var">S</span> : <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="filter_pairwise_orthogonal"><span class="id" title="lemma">filter_pairwise_orthogonal</span></a> <span class="id" title="var">S</span> <span class="id" title="var">p</span> : <br/> + <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#filter"><span class="id" title="definition">filter</span></a> <a class="idref" href="mathcomp.character.classfun.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthonormal_not0"><span class="id" title="lemma">orthonormal_not0</span></a> <span class="id" title="var">S</span> : <a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthonormalE"><span class="id" title="lemma">orthonormalE</span></a> <span class="id" title="var">S</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">pred</span></a> <span class="id" title="var">phi</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthonormal_orthogonal"><span class="id" title="lemma">orthonormal_orthogonal</span></a> <span class="id" title="var">S</span> : <a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthonormal_cat"><span class="id" title="lemma">orthonormal_cat</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> (<a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">[&&</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthogonal"><span class="id" title="definition">orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="eq_orthonormal"><span class="id" title="lemma">eq_orthonormal</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#perm_eq"><span class="id" title="definition">perm_eq</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthonormal_free"><span class="id" title="lemma">orthonormal_free</span></a> <span class="id" title="var">S</span> : <a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthonormalP"><span class="id" title="lemma">orthonormalP</span></a> <span class="id" title="var">S</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#uniq"><span class="id" title="definition">uniq</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span>, <a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">_G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>)<br/> + (<a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sub_orthonormal"><span class="id" title="lemma">sub_orthonormal</span></a> <span class="id" title="var">S1</span> <span class="id" title="var">S2</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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.character.classfun.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S2"><span class="id" title="variable">S2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S1"><span class="id" title="variable">S1</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="orthonormal2P"><span class="id" title="lemma">orthonormal2P</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a><br/> + (<a class="idref" href="mathcomp.character.classfun.html#orthonormal"><span class="id" title="definition">orthonormal</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#b2d6f6eec274c9f9919a378a42b5b183"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#b2d6f6eec274c9f9919a378a42b5b183"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#b2d6f6eec274c9f9919a378a42b5b183"><span class="id" title="notation">]</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="conjC_pair_orthogonal"><span class="id" title="lemma">conjC_pair_orthogonal</span></a> <span class="id" title="var">S</span> <span class="id" title="var">chi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#cfConjC_closed"><span class="id" title="abbreviation">cfConjC_closed</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfReal"><span class="id" title="definition">cfReal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#chi"><span class="id" title="variable">chi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> (<a class="idref" href="mathcomp.character.classfun.html#chi"><span class="id" title="variable">chi</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.character.classfun.html#chi"><span class="id" title="variable">chi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a>%<span class="id" title="var">CF</span>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot_real_conjC"><span class="id" title="lemma">cfdot_real_conjC</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfReal"><span class="id" title="definition">cfReal</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.character.classfun.html#7f8443d955f2fbb3e80ccc8bc17d3b2e"><span class="id" title="notation">_G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#b07d6e6599ef6e468ce182ffe6029532"><span class="id" title="notation">^*</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="extend_cfConjC_subset"><span class="id" title="lemma">extend_cfConjC_subset</span></a> <span class="id" title="var">S</span> <span class="id" title="var">X</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#cfConjC_closed"><span class="id" title="abbreviation">cfConjC_closed</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfReal"><span class="id" title="definition">cfReal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.character.classfun.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#cfConjC_subset"><span class="id" title="definition">cfConjC_subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfConjC_subset"><span class="id" title="definition">cfConjC_subset</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#fcbb95c5c5fd941c49e06d09a4f5a316"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#fcbb95c5c5fd941c49e06d09a4f5a316"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#9c355fdbf8ab6d681afb9e674f9c39c9"><span class="id" title="notation">^*</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#fcbb95c5c5fd941c49e06d09a4f5a316"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#fcbb95c5c5fd941c49e06d09a4f5a316"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + Note: other isometry lemmas, and the dot product lemmas for orthogonal + and orthonormal sequences are in vcharacter, because we need the 'Z[S] + notation for the isometry domains. Alternatively, this could be moved to + cfun. +</div> +<div class="code"> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#DotProduct"><span class="id" title="section">DotProduct</span></a>.<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="CfunOrder"><span class="id" title="section">CfunOrder</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="CfunOrder.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="CfunOrder.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="CfunOrder.phi"><span class="id" title="variable">phi</span></a> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="dvdn_cforderP"><span class="id" title="lemma">dvdn_cforderP</span></a> <span class="id" title="var">n</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#CfunOrder.G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.classfun.html#CfunOrder.phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#CfunOrder.phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="dvdn_cforder"><span class="id" title="lemma">dvdn_cforder</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#CfunOrder.phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#CfunOrder.phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="exp_cforder"><span class="id" title="lemma">exp_cforder</span></a> : <a class="idref" href="mathcomp.character.classfun.html#CfunOrder.phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#CfunOrder.phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#CfunOrder"><span class="id" title="section">CfunOrder</span></a>.<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="MorphOrder"><span class="id" title="section">MorphOrder</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="MorphOrder.aT"><span class="id" title="variable">aT</span></a> <a name="MorphOrder.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="MorphOrder.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="MorphOrder.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variable</span> <a name="MorphOrder.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#MorphOrder.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#MorphOrder.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cforder_rmorph"><span class="id" title="lemma">cforder_rmorph</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#MorphOrder.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cforder_inj_rmorph"><span class="id" title="lemma">cforder_inj_rmorph</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphOrder.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#MorphOrder.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#MorphOrder"><span class="id" title="section">MorphOrder</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="BuildIsometries"><span class="id" title="section">BuildIsometries</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> (<a name="BuildIsometries.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="BuildIsometries.L"><span class="id" title="variable">L</span></a> <a name="BuildIsometries.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">phi</span> <span class="id" title="var">psi</span> <span class="id" title="var">xi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R</span> <span class="id" title="var">S</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><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">U</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">W</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sub_iso_to"><span class="id" title="lemma">sub_iso_to</span></a> <span class="id" title="var">U1</span> <span class="id" title="var">U2</span> <span class="id" title="var">W1</span> <span class="id" title="var">W2</span> <span class="id" title="var">tau</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.classfun.html#U1"><span class="id" title="variable">U1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#W1"><span class="id" title="variable">W1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.classfun.html#W2"><span class="id" title="variable">W2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#U1"><span class="id" title="variable">U1</span></a><a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">isometry</span></a> <a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a><a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">to</span></a> <a class="idref" href="mathcomp.character.classfun.html#W1"><span class="id" title="variable">W1</span></a><a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#U2"><span class="id" title="variable">U2</span></a><a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">isometry</span></a> <a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a><a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">to</span></a> <a class="idref" href="mathcomp.character.classfun.html#W2"><span class="id" title="variable">W2</span></a><a class="idref" href="mathcomp.character.classfun.html#a599128736d70e142550ed6520a98950"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="isometry_of_free"><span class="id" title="lemma">isometry_of_free</span></a> <span class="id" title="var">S</span> <span class="id" title="var">f</span> :<br/> + <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">{</span></a><span class="id" title="var">tau</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">|</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> <a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="isometry_of_cfnorm"><span class="id" title="lemma">isometry_of_cfnorm</span></a> <span class="id" title="var">S</span> <span class="id" title="var">tauS</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#pairwise_orthogonal"><span class="id" title="definition">pairwise_orthogonal</span></a> <a class="idref" href="mathcomp.character.classfun.html#tauS"><span class="id" title="variable">tauS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfnorm"><span class="id" title="abbreviation">cfnorm</span></a> <a class="idref" href="mathcomp.character.classfun.html#tauS"><span class="id" title="variable">tauS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfnorm"><span class="id" title="abbreviation">cfnorm</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">{</span></a><span class="id" title="var">tau</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#tauS"><span class="id" title="variable">tauS</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> <a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="isometry_raddf_inj"><span class="id" title="lemma">isometry_raddf_inj</span></a> <span class="id" title="var">U</span> (<span class="id" title="var">tau</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> <a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.character.classfun.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.classfun.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.character.classfun.html#tau"><span class="id" title="variable">tau</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="opp_isometry"><span class="id" title="lemma">opp_isometry</span></a> : @<a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#BuildIsometries.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9fdf1a446ceec36bc97cce801a3ef3f2"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9fdf1a446ceec36bc97cce801a3ef3f2"><span class="id" title="notation">R</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#BuildIsometries"><span class="id" title="section">BuildIsometries</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Restrict"><span class="id" title="section">Restrict</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="Restrict.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="Restrict.A"><span class="id" title="variable">A</span></a> <a name="Restrict.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfRes_subproof"><span class="id" title="lemma">cfRes_subproof</span></a> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Restrict.B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#is_class_fun"><span class="id" title="definition">is_class_fun</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="abbreviation">H</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="abbreviation">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> 1%<span class="id" title="var">g</span>) <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="abbreviation">H</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfRes"><span class="id" title="definition">cfRes</span></a> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.character.classfun.html#Cfun"><span class="id" title="definition">Cfun</span></a> 1 (<a class="idref" href="mathcomp.character.classfun.html#cfRes_subproof"><span class="id" title="lemma">cfRes_subproof</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfResE"><span class="id" title="lemma">cfResE</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#Restrict.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Restrict.B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Restrict.A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfRes"><span class="id" title="definition">cfRes</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfRes1"><span class="id" title="lemma">cfRes1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfRes"><span class="id" title="definition">cfRes</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfRes_is_linear"><span class="id" title="lemma">cfRes_is_linear</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.character.classfun.html#cfRes"><span class="id" title="definition">cfRes</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfRes_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfRes_is_linear"><span class="id" title="lemma">cfRes_is_linear</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfRes_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.Linear"><span class="id" title="abbreviation">Linear</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfRes_is_linear"><span class="id" title="lemma">cfRes_is_linear</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfRes_cfun1"><span class="id" title="lemma">cfRes_cfun1</span></a> : <a class="idref" href="mathcomp.character.classfun.html#cfRes"><span class="id" title="definition">cfRes</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfRes_is_multiplicative"><span class="id" title="lemma">cfRes_is_multiplicative</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfRes"><span class="id" title="definition">cfRes</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfRes_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfRes_is_multiplicative"><span class="id" title="lemma">cfRes_is_multiplicative</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfRes_lrmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfRes"><span class="id" title="definition">cfRes</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Restrict"><span class="id" title="section">Restrict</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">"</span></a>''Res[' H , G ]" := (@<a class="idref" href="mathcomp.character.classfun.html#cfRes"><span class="id" title="definition">cfRes</span></a> <span class="id" title="var">_</span> <span class="id" title="var">H</span> <span class="id" title="var">G</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">"</span></a>''Res[' H ]" := <a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">[</span></a><span class="id" title="var">H</span><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">,</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">]</span></a> : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">"</span></a>''Res'" := <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><span class="id" title="var">_</span><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="MoreRestrict"><span class="id" title="section">MoreRestrict</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="MoreRestrict.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="MoreRestrict.G"><span class="id" title="variable">G</span></a> <a name="MoreRestrict.H"><span class="id" title="variable">H</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfResEout"><span class="id" title="lemma">cfResEout</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span><a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">A</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfResRes"><span class="id" title="lemma">cfResRes</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfRes_id"><span class="id" title="lemma">cfRes_id</span></a> <span class="id" title="var">A</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sub_cfker_Res"><span class="id" title="lemma">sub_cfker_Res</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="eq_cfker_Res"><span class="id" title="lemma">eq_cfker_Res</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfRes_sub_ker"><span class="id" title="lemma">cfRes_sub_ker</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span><a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">A</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cforder_Res"><span class="id" title="lemma">cforder_Res</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreRestrict.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#MoreRestrict"><span class="id" title="section">MoreRestrict</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Morphim"><span class="id" title="section">Morphim</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="Morphim.aT"><span class="id" title="variable">aT</span></a> <a name="Morphim.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="Morphim.D"><span class="id" title="variable">D</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="Morphim.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.character.classfun.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Morphim.Main"><span class="id" title="section">Main</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="Morphim.Main.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.Main.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfMorph_subproof"><span class="id" title="lemma">cfMorph_subproof</span></a> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#is_class_fun"><span class="id" title="definition">is_class_fun</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#d2263119ac2870c795428c0a326d9d52"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.character.classfun.html#Morphim.Main.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#d2263119ac2870c795428c0a326d9d52"><span class="id" title="notation">>></span></a><br/> + <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.Main.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> 1%<span class="id" title="var">g</span>) <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.Main.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfMorph"><span class="id" title="definition">cfMorph</span></a> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.character.classfun.html#Cfun"><span class="id" title="definition">Cfun</span></a> 1 (<a class="idref" href="mathcomp.character.classfun.html#cfMorph_subproof"><span class="id" title="lemma">cfMorph_subproof</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfMorphE"><span class="id" title="lemma">cfMorphE</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.classfun.html#Morphim.Main.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.Main.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfMorph1"><span class="id" title="lemma">cfMorph1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfMorphEout"><span class="id" title="lemma">cfMorphEout</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Morphim.Main.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.D"><span class="id" title="variable">D</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span><a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">A</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfMorph_cfun1"><span class="id" title="lemma">cfMorph_cfun1</span></a> : <a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfMorph_is_linear"><span class="id" title="lemma">cfMorph_is_linear</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.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfMorph_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMorph_is_linear"><span class="id" title="lemma">cfMorph_is_linear</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfMorph_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.Linear"><span class="id" title="abbreviation">Linear</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMorph_is_linear"><span class="id" title="lemma">cfMorph_is_linear</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfMorph_is_multiplicative"><span class="id" title="lemma">cfMorph_is_multiplicative</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfMorph_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMorph_is_multiplicative"><span class="id" title="lemma">cfMorph_is_multiplicative</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfMorph_lrmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="Morphim.Main.sGD"><span class="id" title="variable">sGD</span></a> : <a class="idref" href="mathcomp.character.classfun.html#Morphim.Main.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.D"><span class="id" title="variable">D</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfMorph_inj"><span class="id" title="lemma">cfMorph_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfMorph_eq1"><span class="id" title="lemma">cfMorph_eq1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_morph"><span class="id" title="lemma">cfker_morph</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.Main.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_morph_im"><span class="id" title="lemma">cfker_morph_im</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sub_cfker_morph"><span class="id" title="lemma">sub_cfker_morph</span></a> <span class="id" title="var">phi</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.Main.G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sub_morphim_cfker"><span class="id" title="lemma">sub_morphim_cfker</span></a> <span class="id" title="var">phi</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.Main.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cforder_morph"><span class="id" title="lemma">cforder_morph</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Morphim.Main"><span class="id" title="section">Main</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfResMorph"><span class="id" title="lemma">cfResMorph</span></a> (<span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Morphim.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">Res</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> (<a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Morphim"><span class="id" title="section">Morphim</span></a>.<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Isomorphism"><span class="id" title="section">Isomorphism</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="Isomorphism.aT"><span class="id" title="variable">aT</span></a> <a name="Isomorphism.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="Isomorphism.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="Isomorphism.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.character.classfun.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variable</span> <a name="Isomorphism.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#Isomorphism.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="Isomorphism.isoGR"><span class="id" title="variable">isoGR</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#isom"><span class="id" title="definition">isom</span></a> <a class="idref" href="mathcomp.character.classfun.html#Isomorphism.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#Isomorphism.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#Isomorphism.f"><span class="id" title="variable">f</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Let</span> <a name="Isomorphism.defR"><span class="id" title="variable">defR</span></a> := <a class="idref" href="mathcomp.fingroup.morphism.html#isom_im"><span class="id" title="lemma">isom_im</span></a> <a class="idref" href="mathcomp.character.classfun.html#Isomorphism.isoGR"><span class="id" title="variable">isoGR</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="Isomorphism.defG"><span class="id" title="variable">defG</span></a> : <a class="idref" href="mathcomp.character.classfun.html#G1"><span class="id" title="abbreviation">G1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#Isomorphism.G"><span class="id" title="variable">G</span></a> := <a class="idref" href="mathcomp.fingroup.morphism.html#isom_im"><span class="id" title="lemma">isom_im</span></a> (<a class="idref" href="mathcomp.fingroup.morphism.html#isom_sym"><span class="id" title="lemma">isom_sym</span></a> <a class="idref" href="mathcomp.character.classfun.html#Isomorphism.isoGR"><span class="id" title="variable">isoGR</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfIsom_key"><span class="id" title="lemma">cfIsom_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/> +<span class="id" title="keyword">Definition</span> <a name="cfIsom"><span class="id" title="definition">cfIsom</span></a> :=<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfIsom_key"><span class="id" title="lemma">cfIsom_key</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#G1"><span class="id" title="abbreviation">G1</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Isomorphism.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Isomorphism.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfIsom_unlockable</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#d39a57968bbde827b22f32a7c98c9b3d"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#d39a57968bbde827b22f32a7c98c9b3d"><span class="id" title="notation">unlockable</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#d39a57968bbde827b22f32a7c98c9b3d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#d39a57968bbde827b22f32a7c98c9b3d"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIsomE"><span class="id" title="lemma">cfIsomE</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Isomorphism.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#Isomorphism.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIsom1"><span class="id" title="lemma">cfIsom1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfIsom_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfIsom_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfIsom_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfIsom_lrmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIsom_cfun1"><span class="id" title="lemma">cfIsom_cfun1</span></a> : <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_isom"><span class="id" title="lemma">cfker_isom</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#Isomorphism.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Isomorphism"><span class="id" title="section">Isomorphism</span></a>.<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="InvMorphism"><span class="id" title="section">InvMorphism</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="InvMorphism.aT"><span class="id" title="variable">aT</span></a> <a name="InvMorphism.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="InvMorphism.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="InvMorphism.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.character.classfun.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variable</span> <a name="InvMorphism.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="InvMorphism.isoGR"><span class="id" title="variable">isoGR</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#isom"><span class="id" title="definition">isom</span></a> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism.f"><span class="id" title="variable">f</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIsomK"><span class="id" title="lemma">cfIsomK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism.isoGR"><span class="id" title="variable">isoGR</span></a>) (<a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> (<a class="idref" href="mathcomp.fingroup.morphism.html#isom_sym"><span class="id" title="lemma">isom_sym</span></a> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism.isoGR"><span class="id" title="variable">isoGR</span></a>)).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIsomKV"><span class="id" title="lemma">cfIsomKV</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> (<a class="idref" href="mathcomp.fingroup.morphism.html#isom_sym"><span class="id" title="lemma">isom_sym</span></a> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism.isoGR"><span class="id" title="variable">isoGR</span></a>)) (<a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism.isoGR"><span class="id" title="variable">isoGR</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIsom_inj"><span class="id" title="lemma">cfIsom_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism.isoGR"><span class="id" title="variable">isoGR</span></a>). <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIsom_eq1"><span class="id" title="lemma">cfIsom_eq1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism.isoGR"><span class="id" title="variable">isoGR</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cforder_isom"><span class="id" title="lemma">cforder_isom</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism.isoGR"><span class="id" title="variable">isoGR</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#InvMorphism"><span class="id" title="section">InvMorphism</span></a>.<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Coset"><span class="id" title="section">Coset</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="Coset.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="Coset.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="Coset.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">rT</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfMod"><span class="id" title="definition">cfMod</span></a> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="ffun_Quo"><span class="id" title="definition">ffun_Quo</span></a> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :=<br/> + <a class="idref" href="mathcomp.ssreflect.finfun.html#42aa76d2f66b49268bafac6d56a51249"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#42aa76d2f66b49268bafac6d56a51249"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">Hx</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#42aa76d2f66b49268bafac6d56a51249"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#coset_of"><span class="id" title="record">coset_of</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#42aa76d2f66b49268bafac6d56a51249"><span class="id" title="notation">⇒</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#repr"><span class="id" title="definition">repr</span></a> <a class="idref" href="mathcomp.character.classfun.html#Hx"><span class="id" title="variable">Hx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> 1%<span class="id" title="var">g</span>) <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> (<a class="idref" href="mathcomp.character.classfun.html#Hx"><span class="id" title="variable">Hx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">g</span><a class="idref" href="mathcomp.ssreflect.finfun.html#42aa76d2f66b49268bafac6d56a51249"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="cfQuo_subproof"><span class="id" title="lemma">cfQuo_subproof</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#is_class_fun"><span class="id" title="definition">is_class_fun</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#d2263119ac2870c795428c0a326d9d52"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#d2263119ac2870c795428c0a326d9d52"><span class="id" title="notation">>></span></a> (<a class="idref" href="mathcomp.character.classfun.html#ffun_Quo"><span class="id" title="definition">ffun_Quo</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="cfQuo"><span class="id" title="definition">cfQuo</span></a> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.character.classfun.html#Cfun"><span class="id" title="definition">Cfun</span></a> 1 (<a class="idref" href="mathcomp.character.classfun.html#cfQuo_subproof"><span class="id" title="lemma">cfQuo_subproof</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> + +<br/> +</div> + +<div class="doc"> + We specialize the cfMorph lemmas to cfMod by strengthening the domain + condition G \subset 'N(H) to H <| G; the cfMorph lemmas can be used if the + stronger results are needed. +</div> +<div class="code"> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfModE"><span class="id" title="lemma">cfModE</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">B</span></a>)%<span class="id" title="var">CF</span> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfMod1"><span class="id" title="lemma">cfMod1</span></a> <span class="id" title="var">phi</span> : (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">B</span></a>)%<span class="id" title="var">CF</span> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span>. <br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfMod_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMod"><span class="id" title="definition">cfMod</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfMod_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMod"><span class="id" title="definition">cfMod</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfMod_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMod"><span class="id" title="definition">cfMod</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfMod_lrmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMod"><span class="id" title="definition">cfMod</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfMod_cfun1"><span class="id" title="lemma">cfMod_cfun1</span></a> : (1 <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">B</span></a>)%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_mod"><span class="id" title="lemma">cfker_mod</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">B</span></a>).<br/> + +<br/> +</div> + +<div class="doc"> + Note that cfQuo is nondegenerate even when G does not normalize B. +</div> +<div class="code"> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfQuoEnorm"><span class="id" title="lemma">cfQuoEnorm</span></a> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">N_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">B</span></a>)%<span class="id" title="var">CF</span> (<a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfQuoE"><span class="id" title="lemma">cfQuoE</span></a> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">B</span></a>)%<span class="id" title="var">CF</span> (<a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfQuo1"><span class="id" title="lemma">cfQuo1</span></a> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">B</span></a>)%<span class="id" title="var">CF</span> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfQuoEout"><span class="id" title="lemma">cfQuoEout</span></a> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">B</span></a>)%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span><a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">A</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + cfQuo is only linear on the class functions that have H in their kernel. +</div> +<div class="code"> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfQuo_cfun1"><span class="id" title="lemma">cfQuo_cfun1</span></a> : (1 <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">B</span></a>)%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/> + +<br/> +</div> + +<div class="doc"> + Cancellation properties +</div> +<div class="code"> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfModK"><span class="id" title="lemma">cfModK</span></a> : <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMod"><span class="id" title="definition">cfMod</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfQuo"><span class="id" title="definition">cfQuo</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfQuoK"><span class="id" title="lemma">cfQuoK</span></a> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">phi</span>, <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">B</span></a> <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">B</span></a>)%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfMod_eq1"><span class="id" title="lemma">cfMod_eq1</span></a> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#099f1d51f6746a815b66f1e730406302"><span class="id" title="notation">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1)%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfQuo_eq1"><span class="id" title="lemma">cfQuo_eq1</span></a> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#Coset.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#3d16f1424bbc75f166996053a9778514"><span class="id" title="notation">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1)%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Coset"><span class="id" title="section">Coset</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="db52ff60a779407895b2e9da59342e63"><span class="id" title="notation">"</span></a>phi / H" := (<a class="idref" href="mathcomp.character.classfun.html#cfQuo"><span class="id" title="definition">cfQuo</span></a> <span class="id" title="var">H</span> <span class="id" title="var">phi</span>) : <span class="id" title="var">cfun_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="a2eb54061d3ca3afb342283ba33dfae2"><span class="id" title="notation">"</span></a>phi %% H" := (@<a class="idref" href="mathcomp.character.classfun.html#cfMod"><span class="id" title="definition">cfMod</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">H</span> <span class="id" title="var">phi</span>) : <span class="id" title="var">cfun_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="MoreCoset"><span class="id" title="section">MoreCoset</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="MoreCoset.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="MoreCoset.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">H</span> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfResMod"><span class="id" title="lemma">cfResMod</span></a> <span class="id" title="var">H</span> <span class="id" title="var">K</span> (<span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">Res</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">K</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#a2eb54061d3ca3afb342283ba33dfae2"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a>)%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="quotient_cfker_mod"><span class="id" title="lemma">quotient_cfker_mod</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) <span class="id" title="var">K</span> (<span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#a2eb54061d3ca3afb342283ba33dfae2"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a>) <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sub_cfker_mod"><span class="id" title="lemma">sub_cfker_mod</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) <span class="id" title="var">K</span> (<span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#a2eb54061d3ca3afb342283ba33dfae2"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>)%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_quo"><span class="id" title="lemma">cfker_quo</span></a> <span class="id" title="var">H</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#db52ff60a779407895b2e9da59342e63"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfQuoEker"><span class="id" title="lemma">cfQuoEker</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#db52ff60a779407895b2e9da59342e63"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>)%<span class="id" title="var">CF</span> (<a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfaithful_quo"><span class="id" title="lemma">cfaithful_quo</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfaithful"><span class="id" title="definition">cfaithful</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#db52ff60a779407895b2e9da59342e63"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +</div> + +<div class="doc"> + Note that there is no requirement that K be normal in H or G. +</div> +<div class="code"> +<span class="id" title="keyword">Lemma</span> <a name="cfResQuo"><span class="id" title="lemma">cfResQuo</span></a> <span class="id" title="var">H</span> <span class="id" title="var">K</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <br/> + (<a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#db52ff60a779407895b2e9da59342e63"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#db52ff60a779407895b2e9da59342e63"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a>)%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfQuoInorm"><span class="id" title="lemma">cfQuoInorm</span></a> <span class="id" title="var">K</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#db52ff60a779407895b2e9da59342e63"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a>)%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">Res</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">('</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">['</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">N_G</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">K</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">)]</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">K</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">)%</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">CF</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cforder_mod"><span class="id" title="lemma">cforder_mod</span></a> <span class="id" title="var">H</span> (<span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#a2eb54061d3ca3afb342283ba33dfae2"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cforder_quo"><span class="id" title="lemma">cforder_quo</span></a> <span class="id" title="var">H</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#db52ff60a779407895b2e9da59342e63"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#MoreCoset"><span class="id" title="section">MoreCoset</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Product"><span class="id" title="section">Product</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> (<a name="Product.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="Product.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfunM_onI"><span class="id" title="lemma">cfunM_onI</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <br/> + <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Product.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Product.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Product.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.character.classfun.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfunM_on"><span class="id" title="lemma">cfunM_on</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <br/> + <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Product.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Product.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Product.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Product"><span class="id" title="section">Product</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="SDproduct"><span class="id" title="section">SDproduct</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="SDproduct.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="SDproduct.G"><span class="id" title="variable">G</span></a> <a name="SDproduct.K"><span class="id" title="variable">K</span></a> <a name="SDproduct.H"><span class="id" title="variable">H</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="SDproduct.defG"><span class="id" title="variable">defG</span></a> : <a class="idref" href="mathcomp.character.classfun.html#SDproduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#ff5a974c523b8d4c8927273818a26a02"><span class="id" title="notation">><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#SDproduct.H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#SDproduct.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfSdprodKey"><span class="id" title="lemma">cfSdprodKey</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfSdprod"><span class="id" title="definition">cfSdprod</span></a> :=<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfSdprodKey"><span class="id" title="lemma">cfSdprodKey</span></a><br/> + (<a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#tagged"><span class="id" title="definition">tagged</span></a> (<a class="idref" href="mathcomp.fingroup.gproduct.html#sdprod_isom"><span class="id" title="lemma">sdprod_isom</span></a> <a class="idref" href="mathcomp.character.classfun.html#SDproduct.defG"><span class="id" title="variable">defG</span></a>)) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#SDproduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#SDproduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfSdprod_unlockable</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#d39a57968bbde827b22f32a7c98c9b3d"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#d39a57968bbde827b22f32a7c98c9b3d"><span class="id" title="notation">unlockable</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#d39a57968bbde827b22f32a7c98c9b3d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#d39a57968bbde827b22f32a7c98c9b3d"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfSdprod_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfSdprod_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfSdprod_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfSdprod_lrmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfSdprod1"><span class="id" title="lemma">cfSdprod1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Let</span> <a name="SDproduct.nsKG"><span class="id" title="variable">nsKG</span></a> : <a class="idref" href="mathcomp.character.classfun.html#SDproduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#SDproduct.G"><span class="id" title="variable">G</span></a>. <br/> +<span class="id" title="keyword">Let</span> <a name="SDproduct.sHG"><span class="id" title="variable">sHG</span></a> : <a class="idref" href="mathcomp.character.classfun.html#SDproduct.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#SDproduct.G"><span class="id" title="variable">G</span></a>. <br/> +<span class="id" title="keyword">Let</span> <a name="SDproduct.sKG"><span class="id" title="variable">sKG</span></a> : <a class="idref" href="mathcomp.character.classfun.html#SDproduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#SDproduct.G"><span class="id" title="variable">G</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_sdprod"><span class="id" title="lemma">cfker_sdprod</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#SDproduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfSdprodEr"><span class="id" title="lemma">cfSdprodEr</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#SDproduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfSdprodE"><span class="id" title="lemma">cfSdprodE</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#SDproduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#SDproduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfSdprodK"><span class="id" title="lemma">cfSdprodK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#SDproduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfSdprod_inj"><span class="id" title="lemma">cfSdprod_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfSdprod_eq1"><span class="id" title="lemma">cfSdprod_eq1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfRes_sdprodK"><span class="id" title="lemma">cfRes_sdprodK</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#SDproduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> (<a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#SDproduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sdprod_cfker"><span class="id" title="lemma">sdprod_cfker</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#SDproduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#ff5a974c523b8d4c8927273818a26a02"><span class="id" title="notation">><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cforder_sdprod"><span class="id" title="lemma">cforder_sdprod</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#SDproduct"><span class="id" title="section">SDproduct</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="DProduct"><span class="id" title="section">DProduct</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="DProduct.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="DProduct.G"><span class="id" title="variable">G</span></a> <a name="DProduct.K"><span class="id" title="variable">K</span></a> <a name="DProduct.H"><span class="id" title="variable">H</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="DProduct.KxH"><span class="id" title="variable">KxH</span></a> : <a class="idref" href="mathcomp.character.classfun.html#DProduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="reindex_dprod"><span class="id" title="lemma">reindex_dprod</span></a> <span class="id" title="var">R</span> <span class="id" title="var">idx</span> (<span class="id" title="var">op</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_law"><span class="id" title="record">Monoid.com_law</span></a> <a class="idref" href="mathcomp.character.classfun.html#idx"><span class="id" title="variable">idx</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.character.classfun.html#DProduct.gT"><span class="id" title="variable">gT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.character.classfun.html#idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">g</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.classfun.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.character.classfun.html#idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">k</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.character.classfun.html#idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">h</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.character.classfun.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#h"><span class="id" title="variable">h</span></a>)%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfDprodr"><span class="id" title="definition">cfDprodr</span></a> := <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> (<a class="idref" href="mathcomp.fingroup.gproduct.html#dprodWsd"><span class="id" title="lemma">dprodWsd</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.KxH"><span class="id" title="variable">KxH</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="cfDprodl"><span class="id" title="definition">cfDprodl</span></a> := <a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> (<a class="idref" href="mathcomp.fingroup.gproduct.html#dprodWsdC"><span class="id" title="lemma">dprodWsdC</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.KxH"><span class="id" title="variable">KxH</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="cfDprod"><span class="id" title="definition">cfDprod</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> := <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfDprodl_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfDprodl_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfDprodl_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfDprodl_lrmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfDprodr_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfDprodr_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfDprodr_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfDprodr_lrmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodl1"><span class="id" title="lemma">cfDprodl1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodr1"><span class="id" title="lemma">cfDprodr1</span></a> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> 1%<span class="id" title="var">g</span>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprod1"><span class="id" title="lemma">cfDprod1</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> 1%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodl_eq1"><span class="id" title="lemma">cfDprodl_eq1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfDprodr_eq1"><span class="id" title="lemma">cfDprodr_eq1</span></a> <span class="id" title="var">psi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprod_cfun1r"><span class="id" title="lemma">cfDprod_cfun1r</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfDprod_cfun1l"><span class="id" title="lemma">cfDprod_cfun1l</span></a> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> 1 <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfDprod_cfun1"><span class="id" title="lemma">cfDprod_cfun1</span></a> : <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> 1 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/> + <span class="id" title="keyword">Lemma</span> <a name="cfDprod_split"><span class="id" title="lemma">cfDprod_split</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> 1 <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Let</span> <a name="DProduct.nsKG"><span class="id" title="variable">nsKG</span></a> : <a class="idref" href="mathcomp.character.classfun.html#DProduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.G"><span class="id" title="variable">G</span></a>. <br/> +<span class="id" title="keyword">Let</span> <a name="DProduct.nsHG"><span class="id" title="variable">nsHG</span></a> : <a class="idref" href="mathcomp.character.classfun.html#DProduct.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.G"><span class="id" title="variable">G</span></a>. <br/> +<span class="id" title="keyword">Let</span> <a name="DProduct.cKH"><span class="id" title="variable">cKH</span></a> : <a class="idref" href="mathcomp.character.classfun.html#DProduct.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#67c26168baa7671aab03da2a0fb7dafa"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#67c26168baa7671aab03da2a0fb7dafa"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#67c26168baa7671aab03da2a0fb7dafa"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DProduct.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#67c26168baa7671aab03da2a0fb7dafa"><span class="id" title="notation">)</span></a>. <br/> +<span class="id" title="keyword">Let</span> <a name="DProduct.sKG"><span class="id" title="variable">sKG</span></a> := <a class="idref" href="mathcomp.fingroup.fingroup.html#normal_sub"><span class="id" title="lemma">normal_sub</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.nsKG"><span class="id" title="variable">nsKG</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="DProduct.sHG"><span class="id" title="variable">sHG</span></a> := <a class="idref" href="mathcomp.fingroup.fingroup.html#normal_sub"><span class="id" title="lemma">normal_sub</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.nsHG"><span class="id" title="variable">nsHG</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodlK"><span class="id" title="lemma">cfDprodlK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a> <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#DProduct.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodrK"><span class="id" title="lemma">cfDprodrK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a> <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#DProduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_dprodl"><span class="id" title="lemma">cfker_dprodl</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_dprodr"><span class="id" title="lemma">cfker_dprodr</span></a> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#DProduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodEl"><span class="id" title="lemma">cfDprodEl</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">k</span> <span class="id" title="var">h</span>, <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#h"><span class="id" title="variable">h</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodEr"><span class="id" title="lemma">cfDprodEr</span></a> <span class="id" title="var">psi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">k</span> <span class="id" title="var">h</span>, <a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#h"><span class="id" title="variable">h</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#h"><span class="id" title="variable">h</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodE"><span class="id" title="lemma">cfDprodE</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.classfun.html#DProduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">h</span> <span class="id" title="var">k</span>, <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprod_Resl"><span class="id" title="lemma">cfDprod_Resl</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#DProduct.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprod_Resr"><span class="id" title="lemma">cfDprod_Resr</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#DProduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodKl"><span class="id" title="lemma">cfDprodKl</span></a> (<span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DProduct.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>) <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">Res</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodKr"><span class="id" title="lemma">cfDprodKr</span></a> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#DProduct.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">Res</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + Note that equality holds here iff either cfker phi = K and cfker psi = H, + or else phi != 0, psi != 0 and coprime #|K : cfker phi| #|H : cfker phi|. +</div> +<div class="code"> +<span class="id" title="keyword">Lemma</span> <a name="cfker_dprod"><span class="id" title="lemma">cfker_dprod</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#80208730563aa86aa7861f6fe1b846da"><span class="id" title="notation"><*></span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot_dprod"><span class="id" title="lemma">cfdot_dprod</span></a> <span class="id" title="var">phi1</span> <span class="id" title="var">phi2</span> <span class="id" title="var">psi1</span> <span class="id" title="var">psi2</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi1"><span class="id" title="variable">phi1</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi1"><span class="id" title="variable">psi1</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi2"><span class="id" title="variable">phi2</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi2"><span class="id" title="variable">psi2</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi1"><span class="id" title="variable">phi1</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi2"><span class="id" title="variable">phi2</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi1"><span class="id" title="variable">psi1</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi2"><span class="id" title="variable">psi2</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodl_iso"><span class="id" title="lemma">cfDprodl_iso</span></a> : <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodr_iso"><span class="id" title="lemma">cfDprodr_iso</span></a> : <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cforder_dprodl"><span class="id" title="lemma">cforder_dprodl</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cforder_dprodr"><span class="id" title="lemma">cforder_dprodr</span></a> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#DProduct"><span class="id" title="section">DProduct</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfDprodC"><span class="id" title="lemma">cfDprodC</span></a> (<span class="id" title="var">gT</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<span class="id" title="var">G</span> <span class="id" title="var">K</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>)<br/> + (<span class="id" title="var">KxH</span> : <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a>) (<span class="id" title="var">HxK</span> : <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a>) <span class="id" title="var">chi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#KxH"><span class="id" title="variable">KxH</span></a> <a class="idref" href="mathcomp.character.classfun.html#chi"><span class="id" title="variable">chi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#HxK"><span class="id" title="variable">HxK</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#chi"><span class="id" title="variable">chi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Bigdproduct"><span class="id" title="section">Bigdproduct</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="Bigdproduct.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="Bigdproduct.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="Bigdproduct.P"><span class="id" title="variable">P</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.classfun.html#I"><span class="id" title="variable">I</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="Bigdproduct.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="Bigdproduct.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="Bigdproduct.defG"><span class="id" title="variable">defG</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">g</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Let</span> <a name="Bigdproduct.sAG"><span class="id" title="variable">sAG</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfBigdprodi_subproof"><span class="id" title="lemma">cfBigdprodi_subproof</span></a> <span class="id" title="var">i</span> :<br/> + <a class="idref" href="mathcomp.fingroup.fingroup.html#gval"><span class="id" title="projection">gval</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> 1%<span class="id" title="var">G</span>) <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#d2263119ac2870c795428c0a326d9d52"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#d2263119ac2870c795428c0a326d9d52"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.G"><span class="id" title="variable">G</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi_subproof"><span class="id" title="lemma">cfBigdprodi_subproof</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">[</span></a><span class="id" title="var">_</span><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#ab1067cd7f1fe17a749116aa49a846b7"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfBigdprodi_additive</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">of</span></a> @<a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfBigdprodi_linear</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> @<a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfBigdprodi_rmorphism</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">of</span></a> @<a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfBigdprodi_lrmorphism</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> @<a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfBigdprodi1"><span class="id" title="lemma">cfBigdprodi1</span></a> <span class="id" title="var">i</span> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfBigdprodi_eq1"><span class="id" title="lemma">cfBigdprodi_eq1</span></a> <span class="id" title="var">i</span> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfBigdprodiK"><span class="id" title="lemma">cfBigdprodiK</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (@<a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfBigdprodi_inj"><span class="id" title="lemma">cfBigdprodi_inj</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (@<a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfBigdprodEi"><span class="id" title="lemma">cfBigdprodEi</span></a> <span class="id" title="var">i</span> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">j</span>, <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#12c1d637d10a949e2e4e04c0b0b1b2dd"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#12c1d637d10a949e2e4e04c0b0b1b2dd"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#12c1d637d10a949e2e4e04c0b0b1b2dd"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.fingroup.fingroup.html#12c1d637d10a949e2e4e04c0b0b1b2dd"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#12c1d637d10a949e2e4e04c0b0b1b2dd"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#j"><span class="id" title="variable">j</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfBigdprodi_iso"><span class="id" title="lemma">cfBigdprodi_iso</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> (@<a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="cfBigdprod"><span class="id" title="definition">cfBigdprod</span></a> (<span class="id" title="var">phi</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :=<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfBigdprodi"><span class="id" title="definition">cfBigdprodi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfBigdprodE"><span class="id" title="lemma">cfBigdprodE</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">x</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#cfBigdprod"><span class="id" title="definition">cfBigdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#12c1d637d10a949e2e4e04c0b0b1b2dd"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#12c1d637d10a949e2e4e04c0b0b1b2dd"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#12c1d637d10a949e2e4e04c0b0b1b2dd"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.fingroup.fingroup.html#12c1d637d10a949e2e4e04c0b0b1b2dd"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#12c1d637d10a949e2e4e04c0b0b1b2dd"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfBigdprod1"><span class="id" title="lemma">cfBigdprod1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfBigdprod"><span class="id" title="definition">cfBigdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> 1%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfBigdprodK"><span class="id" title="lemma">cfBigdprodK</span></a> <span class="id" title="var">phi</span> (<span class="id" title="var">Phi</span> := <a class="idref" href="mathcomp.character.classfun.html#cfBigdprod"><span class="id" title="definition">cfBigdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <span class="id" title="var">i</span> (<span class="id" title="var">a</span> := <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="mathcomp.algebra.ssralg.html#4fa85b0aa898c2a7e18c3b076438c2e7"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#Phi"><span class="id" title="variable">Phi</span></a> 1%<span class="id" title="var">g</span>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#Phi"><span class="id" title="variable">Phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.character.classfun.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#Phi"><span class="id" title="variable">Phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot_bigdprod"><span class="id" title="lemma">cfdot_bigdprod</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#cfBigdprod"><span class="id" title="definition">cfBigdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfBigdprod"><span class="id" title="definition">cfBigdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Bigdproduct"><span class="id" title="section">Bigdproduct</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="MorphIsometry"><span class="id" title="section">MorphIsometry</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="MorphIsometry.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>.<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">D</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphIsometry.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">aT</span> <span class="id" title="var">rT</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfMorph_iso"><span class="id" title="lemma">cfMorph_iso</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">rT</span> (<span class="id" title="var">G</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.character.classfun.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIsom_iso"><span class="id" title="lemma">cfIsom_iso</span></a> <span class="id" title="var">rT</span> <span class="id" title="var">G</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.character.classfun.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>) :<br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">isoG</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#isom"><span class="id" title="definition">isom</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a>, <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#isoG"><span class="id" title="variable">isoG</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfMod_iso"><span class="id" title="lemma">cfMod_iso</span></a> <span class="id" title="var">H</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> (@<a class="idref" href="mathcomp.character.classfun.html#cfMod"><span class="id" title="definition">cfMod</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfQuo_iso"><span class="id" title="lemma">cfQuo_iso</span></a> <span class="id" title="var">H</span> <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">pred</span></a> <span class="id" title="var">phi</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> (@<a class="idref" href="mathcomp.character.classfun.html#cfQuo"><span class="id" title="definition">cfQuo</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnorm_quo"><span class="id" title="lemma">cfnorm_quo</span></a> <span class="id" title="var">H</span> <span class="id" title="var">G</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#db52ff60a779407895b2e9da59342e63"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#e1115aaaeda43358056e5a1b0efbeb06"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e1115aaaeda43358056e5a1b0efbeb06"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.character.classfun.html#e1115aaaeda43358056e5a1b0efbeb06"><span class="id" title="notation">_G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfSdprod_iso"><span class="id" title="lemma">cfSdprod_iso</span></a> <span class="id" title="var">K</span> <span class="id" title="var">H</span> <span class="id" title="var">G</span> (<span class="id" title="var">defG</span> : <a class="idref" href="mathcomp.character.classfun.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#ff5a974c523b8d4c8927273818a26a02"><span class="id" title="notation">><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a>) : <a class="idref" href="mathcomp.character.classfun.html#isometry"><span class="id" title="definition">isometry</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfSdprod"><span class="id" title="definition">cfSdprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#defG"><span class="id" title="variable">defG</span></a>).<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#MorphIsometry"><span class="id" title="section">MorphIsometry</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Induced"><span class="id" title="section">Induced</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="Induced.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Induced.Def"><span class="id" title="section">Def</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> <a name="Induced.Def.B"><span class="id" title="variable">B</span></a> <a name="Induced.Def.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + The defalut value for the ~~ (H \subset G) case matches the one for cfRes + so that Frobenius reciprocity holds even in this degenerate case. +</div> +<div class="code"> +<span class="id" title="keyword">Definition</span> <a name="ffun_cfInd"><span class="id" title="definition">ffun_cfInd</span></a> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.Def.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :=<br/> + <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">⇒</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="abbreviation">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.Def.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">y</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a>)<a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> 1<a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1%<span class="id" title="var">g</span><a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="cfInd_subproof"><span class="id" title="lemma">cfInd_subproof</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#is_class_fun"><span class="id" title="definition">is_class_fun</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="abbreviation">G</span></a> (<a class="idref" href="mathcomp.character.classfun.html#ffun_cfInd"><span class="id" title="definition">ffun_cfInd</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="cfInd"><span class="id" title="definition">cfInd</span></a> <span class="id" title="var">phi</span> := <a class="idref" href="mathcomp.character.classfun.html#Cfun"><span class="id" title="definition">Cfun</span></a> 1 (<a class="idref" href="mathcomp.character.classfun.html#cfInd_subproof"><span class="id" title="lemma">cfInd_subproof</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfInd_is_linear"><span class="id" title="lemma">cfInd_is_linear</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.character.classfun.html#cfInd"><span class="id" title="definition">cfInd</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfInd_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfInd_is_linear"><span class="id" title="lemma">cfInd_is_linear</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cfInd_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.Linear"><span class="id" title="abbreviation">Linear</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfInd_is_linear"><span class="id" title="lemma">cfInd_is_linear</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Induced.Def"><span class="id" title="section">Def</span></a>.<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIndE"><span class="id" title="lemma">cfIndE</span></a> (<span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) <span class="id" title="var">phi</span> <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">y</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.classfun.html#y"><span class="id" title="variable">y</span></a>)<a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> <a name="Induced.G"><span class="id" title="variable">G</span></a> <a name="Induced.K"><span class="id" title="variable">K</span></a> <a name="Induced.H"><span class="id" title="variable">H</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIndEout"><span class="id" title="lemma">cfIndEout</span></a> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> 1<a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">_1</span></a>%<span class="id" title="var">G</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIndEsdprod"><span class="id" title="lemma">cfIndEsdprod</span></a> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#Induced.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#ff5a974c523b8d4c8927273818a26a02"><span class="id" title="notation">><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">w</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> (<a class="idref" href="mathcomp.character.classfun.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.classfun.html#w"><span class="id" title="variable">w</span></a>)%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfInd_on"><span class="id" title="lemma">cfInd_on</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#class_support"><span class="id" title="definition">class_support</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfInd_id"><span class="id" title="lemma">cfInd_id</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfInd_normal"><span class="id" title="lemma">cfInd_normal</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfInd1"><span class="id" title="lemma">cfInd1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> 1%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfInd_cfun1"><span class="id" title="lemma">cfInd_cfun1</span></a> : <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">]</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">_H</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfnorm_Ind_cfun1"><span class="id" title="lemma">cfnorm_Ind_cfun1</span></a> : <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#daddb95a75ea247d15dea0e3524a63e5"><span class="id" title="notation">]</span></a> 1<a class="idref" href="mathcomp.character.classfun.html#78bbcb69a863dad655ecd2a75fa4ea13"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIndInd"><span class="id" title="lemma">cfIndInd</span></a> <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#Induced.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + This is Isaacs, Lemma (5.2). +</div> +<div class="code"> +<span class="id" title="keyword">Lemma</span> <a name="Frobenius_reciprocity"><span class="id" title="lemma">Frobenius_reciprocity</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfdot_Res_r"><span class="id" title="definition">cfdot_Res_r</span></a> := <a class="idref" href="mathcomp.character.classfun.html#Frobenius_reciprocity"><span class="id" title="lemma">Frobenius_reciprocity</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfdot_Res_l"><span class="id" title="lemma">cfdot_Res_l</span></a> <span class="id" title="var">psi</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">'[</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#101f65e74897bbc2c1bee8f833b19e33"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIndM"><span class="id" title="lemma">cfIndM</span></a> <span class="id" title="var">phi</span> <span class="id" title="var">psi</span>: <a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <br/> + <a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#Induced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#dbbc86b4ca58c3cba967ad32d9fc9e38"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#Induced"><span class="id" title="section">Induced</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="67c06efe89e9768b37a53c6a4f48ce89"><span class="id" title="notation">"</span></a>''Ind[' G , H ]" := (@<a class="idref" href="mathcomp.character.classfun.html#cfInd"><span class="id" title="definition">cfInd</span></a> <span class="id" title="var">_</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">"</span></a>''Ind[' G ]" := <a class="idref" href="mathcomp.character.classfun.html#67c06efe89e9768b37a53c6a4f48ce89"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#67c06efe89e9768b37a53c6a4f48ce89"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#67c06efe89e9768b37a53c6a4f48ce89"><span class="id" title="notation">[</span></a><span class="id" title="var">G</span><a class="idref" href="mathcomp.character.classfun.html#67c06efe89e9768b37a53c6a4f48ce89"><span class="id" title="notation">,</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.character.classfun.html#67c06efe89e9768b37a53c6a4f48ce89"><span class="id" title="notation">]</span></a> : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="7bc57e92f437fcd76c7df4bf9bcc478d"><span class="id" title="notation">"</span></a>''Ind'" := <a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">[</span></a><span class="id" title="var">_</span><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">]</span></a> (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="MorphInduced"><span class="id" title="section">MorphInduced</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="MorphInduced.aT"><span class="id" title="variable">aT</span></a> <a name="MorphInduced.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="MorphInduced.D"><span class="id" title="variable">D</span></a> <a name="MorphInduced.G"><span class="id" title="variable">G</span></a> <a name="MorphInduced.H"><span class="id" title="variable">H</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="MorphInduced.R"><span class="id" title="variable">R</span></a> <a name="MorphInduced.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIndMorph"><span class="id" title="lemma">cfIndMorph</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.fingroup.morphism.html#034cc0eb573e9a86d9574eaed7b27a13"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#034cc0eb573e9a86d9574eaed7b27a13"><span class="id" title="notation">ker</span></a> <a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#MorphInduced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> (<a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="MorphInduced.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>) (<a name="MorphInduced.h"><span class="id" title="variable">h</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Hypotheses</span> (<a name="MorphInduced.isoG"><span class="id" title="variable">isoG</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#isom"><span class="id" title="definition">isom</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.g"><span class="id" title="variable">g</span></a>) (<a name="MorphInduced.isoH"><span class="id" title="variable">isoH</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#isom"><span class="id" title="definition">isom</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.h"><span class="id" title="variable">h</span></a>) (<a name="MorphInduced.eq_hg"><span class="id" title="variable">eq_hg</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.H"><span class="id" title="variable">H</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.h"><span class="id" title="variable">h</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="MorphInduced.sHG"><span class="id" title="variable">sHG</span></a> : <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfResIsom"><span class="id" title="lemma">cfResIsom</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#MorphInduced.S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.isoG"><span class="id" title="variable">isoG</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.isoH"><span class="id" title="variable">isoH</span></a> (<a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#MorphInduced.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfIndIsom"><span class="id" title="lemma">cfIndIsom</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#MorphInduced.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.isoH"><span class="id" title="variable">isoH</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced.isoG"><span class="id" title="variable">isoG</span></a> (<a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#MorphInduced.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>).<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#MorphInduced"><span class="id" title="section">MorphInduced</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="FieldAutomorphism"><span class="id" title="section">FieldAutomorphism</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="FieldAutomorphism.u"><span class="id" title="variable">u</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>) (<a name="FieldAutomorphism.gT"><span class="id" title="variable">gT</span></a> <a name="FieldAutomorphism.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="FieldAutomorphism.G"><span class="id" title="variable">G</span></a> <a name="FieldAutomorphism.K"><span class="id" title="variable">K</span></a> <a name="FieldAutomorphism.H"><span class="id" title="variable">H</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="FieldAutomorphism.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>) (<a name="FieldAutomorphism.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutZ_nat"><span class="id" title="lemma">cfAutZ_nat</span></a> <span class="id" title="var">n</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutZ_Cnat"><span class="id" title="lemma">cfAutZ_Cnat</span></a> <span class="id" title="var">z</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutZ_Cint"><span class="id" title="lemma">cfAutZ_Cint</span></a> <span class="id" title="var">z</span> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutK"><span class="id" title="lemma">cfAutK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (@<a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.gT"><span class="id" title="variable">gT</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.u"><span class="id" title="variable">u</span></a>) (<a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> (<a class="idref" href="mathcomp.field.algC.html#algC_invaut_rmorphism"><span class="id" title="definition">algC_invaut_rmorphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.u"><span class="id" title="variable">u</span></a>)).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutVK"><span class="id" title="lemma">cfAutVK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> (<a class="idref" href="mathcomp.field.algC.html#algC_invaut_rmorphism"><span class="id" title="definition">algC_invaut_rmorphism</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.u"><span class="id" title="variable">u</span></a>)) (@<a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.gT"><span class="id" title="variable">gT</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.u"><span class="id" title="variable">u</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAut_inj"><span class="id" title="lemma">cfAut_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (@<a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.gT"><span class="id" title="variable">gT</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.u"><span class="id" title="variable">u</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAut_eq1"><span class="id" title="lemma">cfAut_eq1</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="support_cfAut"><span class="id" title="lemma">support_cfAut</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#support"><span class="id" title="abbreviation">support</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#support"><span class="id" title="abbreviation">support</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="map_cfAut_free"><span class="id" title="lemma">map_cfAut_free</span></a> <span class="id" title="var">S</span> : <a class="idref" href="mathcomp.character.classfun.html#cfAut_closed"><span class="id" title="definition">cfAut_closed</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> (<a class="idref" href="mathcomp.character.classfun.html#cfAut"><span class="id" title="definition">cfAut</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.character.classfun.html#S"><span class="id" title="variable">S</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAut_on"><span class="id" title="lemma">cfAut_on</span></a> <span class="id" title="var">A</span> <span class="id" title="var">phi</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.classfun.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.classfun.html#98d2bf34d82aa4f9a1163621bbcbea56"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfker_aut"><span class="id" title="lemma">cfker_aut</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfker"><span class="id" title="definition">cfker</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAut_cfuni"><span class="id" title="lemma">cfAut_cfuni</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">_A</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">'1</span></a><a class="idref" href="mathcomp.character.classfun.html#81548e24b43b8ac2b7016bb7670121ae"><span class="id" title="notation">_A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cforder_aut"><span class="id" title="lemma">cforder_aut</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#3092b75835fa32d4efa2404130819774"><span class="id" title="notation">]</span></a>%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutRes"><span class="id" title="lemma">cfAutRes</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">Res</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#ce4524e329c3846bb0bf4371af82a0b8"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">Res</span></a> <a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e5b5a52e71d080767a6b19226df281de"><span class="id" title="notation">u</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutMorph"><span class="id" title="lemma">cfAutMorph</span></a> (<span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfMorph"><span class="id" title="definition">cfMorph</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutIsom"><span class="id" title="lemma">cfAutIsom</span></a> (<span class="id" title="var">isoGR</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#isom"><span class="id" title="definition">isom</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.f"><span class="id" title="variable">f</span></a>) <span class="id" title="var">phi</span> :<br/> + <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#isoGR"><span class="id" title="variable">isoGR</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfIsom"><span class="id" title="definition">cfIsom</span></a> <a class="idref" href="mathcomp.character.classfun.html#isoGR"><span class="id" title="variable">isoGR</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutQuo"><span class="id" title="lemma">cfAutQuo</span></a> <span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#db52ff60a779407895b2e9da59342e63"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="mathcomp.character.classfun.html#db52ff60a779407895b2e9da59342e63"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutMod"><span class="id" title="lemma">cfAutMod</span></a> (<span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a> <a class="idref" href="mathcomp.character.classfun.html#a2eb54061d3ca3afb342283ba33dfae2"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="mathcomp.character.classfun.html#a2eb54061d3ca3afb342283ba33dfae2"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">CF</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutInd"><span class="id" title="lemma">cfAutInd</span></a> (<span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">Ind</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.classfun.html#7e29b86b76573eecf4b9c8a0ccdb9715"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#7bc57e92f437fcd76c7df4bf9bcc478d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#7bc57e92f437fcd76c7df4bf9bcc478d"><span class="id" title="notation">Ind</span></a> <a class="idref" href="mathcomp.character.classfun.html#7bc57e92f437fcd76c7df4bf9bcc478d"><span class="id" title="notation">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#7bc57e92f437fcd76c7df4bf9bcc478d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#7bc57e92f437fcd76c7df4bf9bcc478d"><span class="id" title="notation">u</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="FieldAutomorphism.KxH"><span class="id" title="variable">KxH</span></a> : <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutDprodl"><span class="id" title="lemma">cfAutDprodl</span></a> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.KxH"><span class="id" title="variable">KxH</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodl"><span class="id" title="definition">cfDprodl</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.KxH"><span class="id" title="variable">KxH</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutDprodr"><span class="id" title="lemma">cfAutDprodr</span></a> (<span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.KxH"><span class="id" title="variable">KxH</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprodr"><span class="id" title="definition">cfDprodr</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.KxH"><span class="id" title="variable">KxH</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cfAutDprod"><span class="id" title="lemma">cfAutDprod</span></a> (<span class="id" title="var">phi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">psi</span> : <a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">CF</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.classfun.html#d35bff44a2e44c0688f93d605f17e822"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.KxH"><span class="id" title="variable">KxH</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.classfun.html#cfDprod"><span class="id" title="definition">cfDprod</span></a> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism.KxH"><span class="id" title="variable">KxH</span></a> <a class="idref" href="mathcomp.character.classfun.html#phi"><span class="id" title="variable">phi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a> <a class="idref" href="mathcomp.character.classfun.html#psi"><span class="id" title="variable">psi</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.classfun.html#e936761e50df896498d658058c61dde2"><span class="id" title="notation">u</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.classfun.html#FieldAutomorphism"><span class="id" title="section">FieldAutomorphism</span></a>.<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="conj_cfRes"><span class="id" title="definition">conj_cfRes</span></a> := <a class="idref" href="mathcomp.character.classfun.html#cfAutRes"><span class="id" title="lemma">cfAutRes</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.conjC"><span class="id" title="definition">conjC</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfker_conjC"><span class="id" title="definition">cfker_conjC</span></a> := <a class="idref" href="mathcomp.character.classfun.html#cfker_aut"><span class="id" title="lemma">cfker_aut</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.conjC"><span class="id" title="definition">conjC</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="conj_cfQuo"><span class="id" title="definition">conj_cfQuo</span></a> := <a class="idref" href="mathcomp.character.classfun.html#cfAutQuo"><span class="id" title="lemma">cfAutQuo</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.conjC"><span class="id" title="definition">conjC</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="conj_cfMod"><span class="id" title="definition">conj_cfMod</span></a> := <a class="idref" href="mathcomp.character.classfun.html#cfAutMod"><span class="id" title="lemma">cfAutMod</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.conjC"><span class="id" title="definition">conjC</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="conj_cfInd"><span class="id" title="definition">conj_cfInd</span></a> := <a class="idref" href="mathcomp.character.classfun.html#cfAutInd"><span class="id" title="lemma">cfAutInd</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.conjC"><span class="id" title="definition">conjC</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="cfconjC_eq1"><span class="id" title="definition">cfconjC_eq1</span></a> := <a class="idref" href="mathcomp.character.classfun.html#cfAut_eq1"><span class="id" title="lemma">cfAut_eq1</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.conjC"><span class="id" title="definition">conjC</span></a>.<br/> + +<br/> +</div> +</div> + +<div id="footer"> +<hr/><a href="index.html">Index</a><hr/>This page has been generated by <a href="http://coq.inria.fr/">coqdoc</a> +</div> + +</div> + +</body> +</html>
\ No newline at end of file |
