diff options
Diffstat (limited to 'docs/htmldoc/mathcomp.field.algC.html')
| -rw-r--r-- | docs/htmldoc/mathcomp.field.algC.html | 1065 |
1 files changed, 0 insertions, 1065 deletions
diff --git a/docs/htmldoc/mathcomp.field.algC.html b/docs/htmldoc/mathcomp.field.algC.html deleted file mode 100644 index 5ab5e5d..0000000 --- a/docs/htmldoc/mathcomp.field.algC.html +++ /dev/null @@ -1,1065 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" -"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<link href="coqdoc.css" rel="stylesheet" type="text/css" /> -<title>mathcomp.field.algC</title> -</head> - -<body> - -<div id="page"> - -<div id="header"> -</div> - -<div id="main"> - -<h1 class="libtitle">Library mathcomp.field.algC</h1> - -<div class="code"> -<span class="comment">(* (c) Copyright 2006-2016 Microsoft Corporation and Inria. <br/> - Distributed under the terms of CeCILL-B. *)</span><br/> - -<br/> -</div> - -<div class="doc"> - This file provides an axiomatic construction of the algebraic numbers. - The construction only assumes the existence of an algebraically closed - filed with an automorphism of order 2; this amounts to the purely - algebraic contents of the Fundamenta Theorem of Algebra. - algC == the closed, countable field of algebraic numbers. - algCeq, algCring, ..., algCnumField == structures for algC. - The ssrnum interfaces are implemented for algC as follows: - x <= y <=> (y - x) is a nonnegative real - x < y <=> (y - x) is a (strictly) positive real - `|z| == the complex norm of z, i.e., sqrtC (z * z^* ). - Creal == the subset of real numbers (:= Num.real for algC). - 'i == the imaginary number (:= sqrtC (-1)). - 'Re z == the real component of z. - 'Im z == the imaginary component of z. - z^* == the complex conjugate of z (:= conjC z). - sqrtC z == a nonnegative square root of z, i.e., 0 <= sqrt x if 0 <= x. - n.-root z == more generally, for n > 0, an nth root of z, chosen with a - minimal non-negative argument for n > 1 (i.e., with a - maximal real part subject to a nonnegative imaginary part). - Note that n.-root (-1) is a primitive 2nth root of unity, - an thus not equal to -1 for n odd > 1 (this will be shown in - file cyclotomic.v). - In addition, we provide: - Crat == the subset of rational numbers. - Cint == the subset of integers. - Cnat == the subset of natural integers. - getCrat z == some a : rat such that ratr a = z, provided z \in Crat. - floorC z == for z \in Creal, an m : int s.t. m%:~R <= z < (m + 1)%:~R. - truncC z == for z >= 0, an n : nat s.t. n%:R <= z < n.+1%:R, else 0%N. - minCpoly z == the minimal (monic) polynomial over Crat with root z. - algC_invaut nu == an inverse of nu : {rmorphism algC -> algC}. - (x %| y)%C <=> y is an integer (Cint) multiple of x; if x or y are - (x %| y)%Cx of type nat or int they are coerced to algC here. - The (x %| y)%Cx display form is a workaround for - design limitations of the Coq Notation facilities. - (x == y % [mod z])%C <=> x and y differ by an integer (Cint) multiple of z; - as above, arguments of type nat or int are cast to algC. - (x != y % [mod z])%C <=> x and y do not differ by an integer multiple of z. - Note that in file algnum we give an alternative definition of divisibility - based on algebraic integers, overloading the notation in the %A scope. -</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">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/> - -<br/> -</div> - -<div class="doc"> - The Num mixin for an algebraically closed field with an automorphism of - order 2, making it into a field of complex numbers. -</div> -<div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="ComplexNumMixin"><span class="id" title="lemma">ComplexNumMixin</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Exports.closedFieldType"><span class="id" title="abbreviation">closedFieldType</span></a>) (<span class="id" title="var">conj</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> <a class="idref" href="mathcomp.field.algC.html#conj"><span class="id" title="variable">conj</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.field.algC.html#conj"><span class="id" title="variable">conj</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">numL</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.NumDomain.Exports.NumDomainType"><span class="id" title="abbreviation">NumDomainType</span></a> <a class="idref" href="mathcomp.field.algC.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.field.algC.html#numL"><span class="id" title="variable">numL</span></a>, <a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#conj"><span class="id" title="variable">conj</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Module</span> <a name="Algebraics"><span class="id" title="module">Algebraics</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Type</span> <a name="Algebraics.Specification"><span class="id" title="module">Specification</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Parameter</span> <a name="Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> : <span class="id" title="keyword">Type</span>.<br/> - -<br/> -<span class="id" title="keyword">Parameter</span> <a name="Algebraics.Specification.eqMixin"><span class="id" title="axiom">eqMixin</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.class_of"><span class="id" title="abbreviation">Equality.class_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.EqType"><span class="id" title="abbreviation">EqType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.eqMixin"><span class="id" title="axiom">eqMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Parameter</span> <a name="Algebraics.Specification.choiceMixin"><span class="id" title="axiom">choiceMixin</span></a> : <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.mixin_of"><span class="id" title="record">Choice.mixin_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">choiceType</span> := <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.choiceMixin"><span class="id" title="axiom">choiceMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Parameter</span> <a name="Algebraics.Specification.countMixin"><span class="id" title="axiom">countMixin</span></a> : <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.mixin_of"><span class="id" title="record">Countable.mixin_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">countType</span> := <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.CountType"><span class="id" title="abbreviation">CountType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.countMixin"><span class="id" title="axiom">countMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Parameter</span> <a name="Algebraics.Specification.zmodMixin"><span class="id" title="axiom">zmodMixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.mixin_of"><span class="id" title="record">GRing.Zmodule.mixin_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">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.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.zmodMixin"><span class="id" title="axiom">zmodMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">countZmodType</span> := <a class="idref" href="mathcomp.algebra.countalg.html#c4cf911b6276243d26c2dd85fdb53f8f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.countalg.html#c4cf911b6276243d26c2dd85fdb53f8f"><span class="id" title="notation">countZmodType</span></a> <a class="idref" href="mathcomp.algebra.countalg.html#c4cf911b6276243d26c2dd85fdb53f8f"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a><a class="idref" href="mathcomp.algebra.countalg.html#c4cf911b6276243d26c2dd85fdb53f8f"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Parameter</span> <a name="Algebraics.Specification.ringMixin"><span class="id" title="axiom">ringMixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mixin_of"><span class="id" title="record">GRing.Ring.mixin_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.zmodType"><span class="id" title="definition">zmodType</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">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.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.ringMixin"><span class="id" title="axiom">ringMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">countRingType</span> := <a class="idref" href="mathcomp.algebra.countalg.html#5d38f59e59d31b0f5328b7330ff4d0f6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.countalg.html#5d38f59e59d31b0f5328b7330ff4d0f6"><span class="id" title="notation">countRingType</span></a> <a class="idref" href="mathcomp.algebra.countalg.html#5d38f59e59d31b0f5328b7330ff4d0f6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a><a class="idref" href="mathcomp.algebra.countalg.html#5d38f59e59d31b0f5328b7330ff4d0f6"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Parameter</span> <a name="Algebraics.Specification.unitRingMixin"><span class="id" title="axiom">unitRingMixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin_of"><span class="id" title="record">GRing.UnitRing.mixin_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.ringType"><span class="id" title="definition">ringType</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">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.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.unitRingMixin"><span class="id" title="axiom">unitRingMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Axiom</span> <a name="Algebraics.Specification.mulC"><span class="id" title="axiom">mulC</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">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.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.mulC"><span class="id" title="axiom">mulC</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comUnitRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Axiom</span> <a name="Algebraics.Specification.idomainAxiom"><span class="id" title="axiom">idomainAxiom</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.axiom"><span class="id" title="definition">GRing.IntegralDomain.axiom</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.ringType"><span class="id" title="definition">ringType</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">idomainType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Exports.IdomainType"><span class="id" title="abbreviation">IdomainType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.idomainAxiom"><span class="id" title="axiom">idomainAxiom</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Axiom</span> <a name="Algebraics.Specification.fieldMixin"><span class="id" title="axiom">fieldMixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">GRing.Field.mixin_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.unitRingType"><span class="id" title="definition">unitRingType</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldType"><span class="id" title="abbreviation">FieldType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.fieldMixin"><span class="id" title="axiom">fieldMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Parameter</span> <a name="Algebraics.Specification.decFieldMixin"><span class="id" title="axiom">decFieldMixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.mixin_of"><span class="id" title="record">GRing.DecidableField.mixin_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.unitRingType"><span class="id" title="definition">unitRingType</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">decFieldType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Exports.DecFieldType"><span class="id" title="abbreviation">DecFieldType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.decFieldMixin"><span class="id" title="axiom">decFieldMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Axiom</span> <a name="Algebraics.Specification.closedFieldAxiom"><span class="id" title="axiom">closedFieldAxiom</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.axiom"><span class="id" title="definition">GRing.ClosedField.axiom</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.ringType"><span class="id" title="definition">ringType</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">closedFieldType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Exports.ClosedFieldType"><span class="id" title="abbreviation">ClosedFieldType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.closedFieldAxiom"><span class="id" title="axiom">closedFieldAxiom</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Parameter</span> <a name="Algebraics.Specification.numMixin"><span class="id" title="axiom">numMixin</span></a> : <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.mixin_of"><span class="id" title="record">Num.mixin_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.ringType"><span class="id" title="definition">ringType</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">numDomainType</span> := <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.NumDomain.Exports.NumDomainType"><span class="id" title="abbreviation">NumDomainType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.numMixin"><span class="id" title="axiom">numMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">numFieldType</span> := <a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">numFieldType</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Parameter</span> <a name="Algebraics.Specification.conjMixin"><span class="id" title="axiom">conjMixin</span></a> : <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.ClosedField.imaginary_mixin_of"><span class="id" title="record">Num.ClosedField.imaginary_mixin_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.numDomainType"><span class="id" title="definition">numDomainType</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">numClosedFieldType</span> := <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.ClosedField.Exports.NumClosedFieldType"><span class="id" title="abbreviation">NumClosedFieldType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.type"><span class="id" title="axiom">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.conjMixin"><span class="id" title="axiom">conjMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Axiom</span> <a name="Algebraics.Specification.algebraic"><span class="id" title="axiom">algebraic</span></a> : <a class="idref" href="mathcomp.algebra.mxpoly.html#integralRange"><span class="id" title="definition">integralRange</span></a> (@<a class="idref" href="mathcomp.algebra.rat.html#ratr"><span class="id" title="definition">ratr</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification.unitRingType"><span class="id" title="definition">unitRingType</span></a>).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification"><span class="id" title="module">Specification</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Module</span> <a name="Algebraics.Implementation"><span class="id" title="module">Implementation</span></a> : <a class="idref" href="mathcomp.field.algC.html#Algebraics.Specification"><span class="id" title="module">Specification</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.L"><span class="id" title="definition">L</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#tag"><span class="id" title="definition">tag</span></a> <a class="idref" href="mathcomp.field.algebraics_fundamentals.html#Fundamental_Theorem_of_Algebraics"><span class="id" title="lemma">Fundamental_Theorem_of_Algebraics</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.conjL"><span class="id" title="definition">conjL</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.L"><span class="id" title="definition">L</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.L"><span class="id" title="definition">L</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a> :=<br/> - <a class="idref" href="mathcomp.ssreflect.eqtype.html#s2val"><span class="id" title="definition">s2val</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#tagged"><span class="id" title="definition">tagged</span></a> <a class="idref" href="mathcomp.field.algebraics_fundamentals.html#Fundamental_Theorem_of_Algebraics"><span class="id" title="lemma">Fundamental_Theorem_of_Algebraics</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.conjL_K"><span class="id" title="lemma">conjL_K</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conjL"><span class="id" title="definition">conjL</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.conjL_nt"><span class="id" title="lemma">conjL_nt</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conjL"><span class="id" title="definition">conjL</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.LnumMixin"><span class="id" title="definition">LnumMixin</span></a> := <a class="idref" href="mathcomp.field.algC.html#ComplexNumMixin"><span class="id" title="lemma">ComplexNumMixin</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conjL_K"><span class="id" title="lemma">conjL_K</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conjL_nt"><span class="id" title="lemma">conjL_nt</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.Lnum"><span class="id" title="definition">Lnum</span></a> := <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.NumDomain.Exports.NumDomainType"><span class="id" title="abbreviation">NumDomainType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.L"><span class="id" title="definition">L</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#sval"><span class="id" title="abbreviation">sval</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.LnumMixin"><span class="id" title="definition">LnumMixin</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.QtoL"><span class="id" title="definition">QtoL</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">of</span></a> @<a class="idref" href="mathcomp.algebra.rat.html#ratr"><span class="id" title="definition">ratr</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">numFieldType</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.Lnum"><span class="id" title="definition">Lnum</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="Algebraics.Implementation.pQtoL"><span class="id" title="abbreviation">pQtoL</span></a> := (<a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.QtoL"><span class="id" title="definition">QtoL</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.rootQtoL"><span class="id" title="definition">rootQtoL</span></a> <span class="id" title="var">p_j</span> :=<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.field.algC.html#p_j"><span class="id" title="variable">p_j</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#sval"><span class="id" title="abbreviation">sval</span></a> (<a class="idref" href="mathcomp.algebra.poly.html#closed_field_poly_normal"><span class="id" title="lemma">closed_field_poly_normal</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.pQtoL"><span class="id" title="abbreviation">pQtoL</span></a> <a class="idref" href="mathcomp.field.algC.html#p_j"><span class="id" title="variable">p_j</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a>))<a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">)`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_p_j</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.eq_root"><span class="id" title="definition">eq_root</span></a> <span class="id" title="var">p_j</span> <span class="id" title="var">q_k</span> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.rootQtoL"><span class="id" title="definition">rootQtoL</span></a> <a class="idref" href="mathcomp.field.algC.html#p_j"><span class="id" title="variable">p_j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.rootQtoL"><span class="id" title="definition">rootQtoL</span></a> <a class="idref" href="mathcomp.field.algC.html#q_k"><span class="id" title="variable">q_k</span></a>.<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.eq_root_is_equiv"><span class="id" title="lemma">eq_root_is_equiv</span></a> : <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#equiv_class_of"><span class="id" title="inductive">equiv_class_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.eq_root"><span class="id" title="definition">eq_root</span></a>.<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">eq_root_equiv</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#EquivRelPack"><span class="id" title="constructor">EquivRelPack</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.eq_root_is_equiv"><span class="id" title="lemma">eq_root_is_equiv</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> : <span class="id" title="keyword">Type</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#0dc587318a1236d89082bca629a5db9b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#0dc587318a1236d89082bca629a5db9b"><span class="id" title="notation">eq_quot</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.eq_root"><span class="id" title="definition">eq_root</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#0dc587318a1236d89082bca629a5db9b"><span class="id" title="notation">}</span></a>%<span class="id" title="var">qT</span>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.eqMixin"><span class="id" title="definition">eqMixin</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.class_of"><span class="id" title="abbreviation">Equality.class_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#EquivQuot.eqMixin"><span class="id" title="lemma">EquivQuot.eqMixin</span></a> <span class="id" title="var">_</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.EqType"><span class="id" title="abbreviation">EqType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.eqMixin"><span class="id" title="definition">eqMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.choiceMixin"><span class="id" title="definition">choiceMixin</span></a> : <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.mixin_of"><span class="id" title="record">Choice.mixin_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#EquivQuot.choiceMixin"><span class="id" title="definition">EquivQuot.choiceMixin</span></a> <span class="id" title="var">_</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">choiceType</span> := <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.choiceMixin"><span class="id" title="definition">choiceMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.countMixin"><span class="id" title="definition">countMixin</span></a> : <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.mixin_of"><span class="id" title="record">Countable.mixin_of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> := <a class="idref" href="mathcomp.ssreflect.choice.html#CanCountMixin"><span class="id" title="definition">CanCountMixin</span></a> <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#reprK"><span class="id" title="lemma">reprK</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">countType</span> := <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.CountType"><span class="id" title="abbreviation">CountType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.countMixin"><span class="id" title="definition">countMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.CtoL"><span class="id" title="definition">CtoL</span></a> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a>) := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.rootQtoL"><span class="id" title="definition">rootQtoL</span></a> (<a class="idref" href="mathcomp.ssreflect.generic_quotient.html#repr"><span class="id" title="abbreviation">repr</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.CtoL_inj"><span class="id" title="lemma">CtoL_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL"><span class="id" title="definition">CtoL</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.CtoL_P"><span class="id" title="lemma">CtoL_P</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.mxpoly.html#integralOver"><span class="id" title="definition">integralOver</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.QtoL"><span class="id" title="definition">QtoL</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL"><span class="id" title="definition">CtoL</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.LtoC_subproof"><span class="id" title="lemma">LtoC_subproof</span></a> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.algebra.mxpoly.html#integralOver"><span class="id" title="definition">integralOver</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.QtoL"><span class="id" title="definition">QtoL</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">u</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL"><span class="id" title="definition">CtoL</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.LtoC"><span class="id" title="definition">LtoC</span></a> <span class="id" title="var">z</span> <span class="id" title="var">Az</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#sval"><span class="id" title="abbreviation">sval</span></a> (@<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.LtoC_subproof"><span class="id" title="lemma">LtoC_subproof</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#Az"><span class="id" title="variable">Az</span></a>).<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.LtoC_K"><span class="id" title="lemma">LtoC_K</span></a> <span class="id" title="var">z</span> <span class="id" title="var">Az</span> : <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL"><span class="id" title="definition">CtoL</span></a> (@<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.LtoC"><span class="id" title="definition">LtoC</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#Az"><span class="id" title="variable">Az</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.CtoL_K"><span class="id" title="lemma">CtoL_K</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.LtoC"><span class="id" title="definition">LtoC</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL_P"><span class="id" title="lemma">CtoL_P</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.zero"><span class="id" title="definition">zero</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.LtoC"><span class="id" title="definition">LtoC</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#integral0"><span class="id" title="lemma">integral0</span></a> <span class="id" title="var">_</span>).<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.add"><span class="id" title="definition">add</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.LtoC"><span class="id" title="definition">LtoC</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#integral_add"><span class="id" title="lemma">integral_add</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL_P"><span class="id" title="lemma">CtoL_P</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>) (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL_P"><span class="id" title="lemma">CtoL_P</span></a> <a class="idref" href="mathcomp.field.algC.html#v"><span class="id" title="variable">v</span></a>)).<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.opp"><span class="id" title="definition">opp</span></a> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.LtoC"><span class="id" title="definition">LtoC</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#integral_opp"><span class="id" title="lemma">integral_opp</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL_P"><span class="id" title="lemma">CtoL_P</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.addA"><span class="id" title="lemma">addA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.add"><span class="id" title="definition">add</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.addC"><span class="id" title="lemma">addC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.add"><span class="id" title="definition">add</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.add0"><span class="id" title="lemma">add0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.zero"><span class="id" title="definition">zero</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.add"><span class="id" title="definition">add</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.addN"><span class="id" title="lemma">addN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.zero"><span class="id" title="definition">zero</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.opp"><span class="id" title="definition">opp</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.add"><span class="id" title="definition">add</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.zmodMixin"><span class="id" title="definition">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.field.algC.html#Algebraics.Implementation.addA"><span class="id" title="lemma">addA</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.addC"><span class="id" title="lemma">addC</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.add0"><span class="id" title="lemma">add0</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.addN"><span class="id" title="lemma">addN</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">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.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.zmodMixin"><span class="id" title="definition">zmodMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">countZmodType</span> := <a class="idref" href="mathcomp.algebra.countalg.html#c4cf911b6276243d26c2dd85fdb53f8f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.countalg.html#c4cf911b6276243d26c2dd85fdb53f8f"><span class="id" title="notation">countZmodType</span></a> <a class="idref" href="mathcomp.algebra.countalg.html#c4cf911b6276243d26c2dd85fdb53f8f"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a><a class="idref" href="mathcomp.algebra.countalg.html#c4cf911b6276243d26c2dd85fdb53f8f"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.CtoL_is_additive"><span class="id" title="lemma">CtoL_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.additive"><span class="id" title="abbreviation">additive</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL"><span class="id" title="definition">CtoL</span></a>.<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">CtoL_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL_is_additive"><span class="id" title="lemma">CtoL_is_additive</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.one"><span class="id" title="definition">one</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.LtoC"><span class="id" title="definition">LtoC</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#integral1"><span class="id" title="lemma">integral1</span></a> <span class="id" title="var">_</span>).<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.mul"><span class="id" title="definition">mul</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.LtoC"><span class="id" title="definition">LtoC</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#integral_mul"><span class="id" title="lemma">integral_mul</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL_P"><span class="id" title="lemma">CtoL_P</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>) (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL_P"><span class="id" title="lemma">CtoL_P</span></a> <a class="idref" href="mathcomp.field.algC.html#v"><span class="id" title="variable">v</span></a>)).<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.inv"><span class="id" title="definition">inv</span></a> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.LtoC"><span class="id" title="definition">LtoC</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#integral_inv"><span class="id" title="lemma">integral_inv</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL_P"><span class="id" title="lemma">CtoL_P</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.mulA"><span class="id" title="lemma">mulA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.mul"><span class="id" title="definition">mul</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.mulC"><span class="id" title="lemma">mulC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.mul"><span class="id" title="definition">mul</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.mul1"><span class="id" title="lemma">mul1</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.one"><span class="id" title="definition">one</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.mul"><span class="id" title="definition">mul</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.mulD"><span class="id" title="lemma">mulD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.one_nz"><span class="id" title="lemma">one_nz</span></a> : <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.one"><span class="id" title="definition">one</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.ringMixin"><span class="id" title="definition">ringMixin</span></a> := <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.field.algC.html#Algebraics.Implementation.mulA"><span class="id" title="lemma">mulA</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.mulC"><span class="id" title="lemma">mulC</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.mul1"><span class="id" title="lemma">mul1</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.mulD"><span class="id" title="lemma">mulD</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.one_nz"><span class="id" title="lemma">one_nz</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">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.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.ringMixin"><span class="id" title="definition">ringMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">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.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.mulC"><span class="id" title="lemma">mulC</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">countRingType</span> := <a class="idref" href="mathcomp.algebra.countalg.html#5d38f59e59d31b0f5328b7330ff4d0f6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.countalg.html#5d38f59e59d31b0f5328b7330ff4d0f6"><span class="id" title="notation">countRingType</span></a> <a class="idref" href="mathcomp.algebra.countalg.html#5d38f59e59d31b0f5328b7330ff4d0f6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a><a class="idref" href="mathcomp.algebra.countalg.html#5d38f59e59d31b0f5328b7330ff4d0f6"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.CtoL_is_multiplicative"><span class="id" title="lemma">CtoL_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.field.algC.html#Algebraics.Implementation.CtoL"><span class="id" title="definition">CtoL</span></a>.<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">CtoL_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.field.algC.html#Algebraics.Implementation.CtoL_is_multiplicative"><span class="id" title="lemma">CtoL_is_multiplicative</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.mulVf"><span class="id" title="lemma">mulVf</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.axiom"><span class="id" title="definition">GRing.Field.axiom</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.inv"><span class="id" title="definition">inv</span></a>.<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.inv0"><span class="id" title="lemma">inv0</span></a> : <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.inv"><span class="id" title="definition">inv</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0. <br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.unitRingMixin"><span class="id" title="definition">unitRingMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldUnitMixin"><span class="id" title="abbreviation">FieldUnitMixin</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.mulVf"><span class="id" title="lemma">mulVf</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.inv0"><span class="id" title="lemma">inv0</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">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.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.unitRingMixin"><span class="id" title="definition">unitRingMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comUnitRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.fieldMixin"><span class="id" title="definition">fieldMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldMixin"><span class="id" title="abbreviation">FieldMixin</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.mulVf"><span class="id" title="lemma">mulVf</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.inv0"><span class="id" title="lemma">inv0</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.idomainAxiom"><span class="id" title="definition">idomainAxiom</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldIdomainMixin"><span class="id" title="abbreviation">FieldIdomainMixin</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.fieldMixin"><span class="id" title="definition">fieldMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">idomainType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Exports.IdomainType"><span class="id" title="abbreviation">IdomainType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.idomainAxiom"><span class="id" title="definition">idomainAxiom</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldType"><span class="id" title="abbreviation">FieldType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.fieldMixin"><span class="id" title="definition">fieldMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.closedFieldAxiom"><span class="id" title="lemma">closedFieldAxiom</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.axiom"><span class="id" title="definition">GRing.ClosedField.axiom</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.ringType"><span class="id" title="definition">ringType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.decFieldMixin"><span class="id" title="definition">decFieldMixin</span></a> := <a class="idref" href="mathcomp.field.closed_field.html#closed_field_QEMixin"><span class="id" title="abbreviation">closed_field_QEMixin</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.closedFieldAxiom"><span class="id" title="lemma">closedFieldAxiom</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">decFieldType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Exports.DecFieldType"><span class="id" title="abbreviation">DecFieldType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.decFieldMixin"><span class="id" title="definition">decFieldMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">closedFieldType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Exports.ClosedFieldType"><span class="id" title="abbreviation">ClosedFieldType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.closedFieldAxiom"><span class="id" title="lemma">closedFieldAxiom</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.conj_subproof"><span class="id" title="lemma">conj_subproof</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.mxpoly.html#integralOver"><span class="id" title="definition">integralOver</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.QtoL"><span class="id" title="definition">QtoL</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conjL"><span class="id" title="definition">conjL</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.CtoL"><span class="id" title="definition">CtoL</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>)).<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.conj_is_rmorphism"><span class="id" title="lemma">conj_is_rmorphism</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">u</span> ⇒ <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.LtoC"><span class="id" title="definition">LtoC</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conj_subproof"><span class="id" title="lemma">conj_subproof</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>)).<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.conj"><span class="id" title="definition">conj</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.RMorphism"><span class="id" title="abbreviation">RMorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conj_is_rmorphism"><span class="id" title="lemma">conj_is_rmorphism</span></a>.<br/> -<span class="id" title="keyword">Lemma</span> <a name="Algebraics.Implementation.conjK"><span class="id" title="lemma">conjK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conj"><span class="id" title="definition">conj</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Implementation.conj_nt"><span class="id" title="lemma">conj_nt</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conj"><span class="id" title="definition">conj</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.numMixin"><span class="id" title="definition">numMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#sval"><span class="id" title="abbreviation">sval</span></a> (<a class="idref" href="mathcomp.field.algC.html#ComplexNumMixin"><span class="id" title="lemma">ComplexNumMixin</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conjK"><span class="id" title="lemma">conjK</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conj_nt"><span class="id" title="lemma">conj_nt</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">numDomainType</span> := <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.NumDomain.Exports.NumDomainType"><span class="id" title="abbreviation">NumDomainType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.numMixin"><span class="id" title="definition">numMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">numFieldType</span> := <a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">numFieldType</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#26b4c9111e913c6e720e7f07f31d3386"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Algebraics.Implementation.normK"><span class="id" title="lemma">normK</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conj"><span class="id" title="definition">conj</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Algebraics.Implementation.algebraic"><span class="id" title="lemma">algebraic</span></a> : <a class="idref" href="mathcomp.algebra.mxpoly.html#integralRange"><span class="id" title="definition">integralRange</span></a> (@<a class="idref" href="mathcomp.algebra.rat.html#ratr"><span class="id" title="definition">ratr</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.unitRingType"><span class="id" title="definition">unitRingType</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Implementation.conjMixin"><span class="id" title="definition">conjMixin</span></a> :=<br/> - <a class="idref" href="mathcomp.algebra.ssrnum.html#ImaginaryMixin"><span class="id" title="abbreviation">ImaginaryMixin</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#svalP"><span class="id" title="lemma">svalP</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.imaginary_exists"><span class="id" title="definition">imaginary_exists</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.closedFieldType"><span class="id" title="definition">closedFieldType</span></a>))<br/> - (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#esym"><span class="id" title="definition">esym</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.normK"><span class="id" title="lemma">normK</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>)).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">numClosedFieldType</span> := <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.ClosedField.Exports.NumClosedFieldType"><span class="id" title="abbreviation">NumClosedFieldType</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.conjMixin"><span class="id" title="definition">conjMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation"><span class="id" title="module">Implementation</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.divisor"><span class="id" title="definition">divisor</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.type"><span class="id" title="axiom">Implementation.type</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Module</span> <a name="Algebraics.Internals"><span class="id" title="module">Internals</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Import</span> <span class="id" title="var">Implementation</span>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Internals.algCi_subproof"><span class="id" title="lemma">algCi_subproof</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">{</span></a><span class="id" title="var">i</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.algC"><span class="id" title="abbreviation">algC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> -1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variant</span> <a name="Algebraics.Internals.getCrat_spec"><span class="id" title="inductive">getCrat_spec</span></a> : <span class="id" title="keyword">Type</span> := <a name="Algebraics.Internals.GetCrat_spec"><span class="id" title="constructor">GetCrat_spec</span></a> <span class="id" title="var">CtoQ</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.QtoC"><span class="id" title="abbreviation">QtoC</span></a> <a class="idref" href="mathcomp.field.algC.html#CtoQ"><span class="id" title="variable">CtoQ</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Internals.getCrat_subproof"><span class="id" title="lemma">getCrat_subproof</span></a> : <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.getCrat_spec"><span class="id" title="inductive">getCrat_spec</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Internals.floorC_subproof"><span class="id" title="lemma">floorC_subproof</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">m</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.Creal"><span class="id" title="abbreviation">Creal</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.ZtoC"><span class="id" title="abbreviation">ZtoC</span></a> <a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.ZtoC"><span class="id" title="abbreviation">ZtoC</span></a> (<a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> 1)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Algebraics.Internals.minCpoly_subproof"><span class="id" title="lemma">minCpoly_subproof</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.algC"><span class="id" title="abbreviation">algC</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">p</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.algebra.poly.html#monic"><span class="id" title="definition">monic</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">q</span>, <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.pQtoC"><span class="id" title="abbreviation">pQtoC</span></a> <a class="idref" href="mathcomp.field.algC.html#q"><span class="id" title="variable">q</span></a>) <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#64fc6df2b95b79b2107dd5d7f2014b97"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#q"><span class="id" title="variable">q</span></a>)%<span class="id" title="var">R</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Internals.algC_divisor"><span class="id" title="definition">algC_divisor</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.algC"><span class="id" title="abbreviation">algC</span></a>) := <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.divisor"><span class="id" title="definition">divisor</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Internals.int_divisor"><span class="id" title="definition">int_divisor</span></a> <span class="id" title="var">m</span> := <a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.divisor"><span class="id" title="definition">divisor</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Internals.nat_divisor"><span class="id" title="definition">nat_divisor</span></a> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.divisor"><span class="id" title="definition">divisor</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals"><span class="id" title="module">Internals</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Import</span> <a name="Algebraics.Exports"><span class="id" title="module">Exports</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Import</span> <span class="id" title="var">Implementation</span> <span class="id" title="var">Internals</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.type"><span class="id" title="axiom">type</span></a>.<br/> -<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">C_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">C</span>.<br/> -<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">C_core_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">Cc</span>.<br/> -<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">C_expanded_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">Cx</span>.<br/> -<span class="id" title="keyword">Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">C_core_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">choiceType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">countType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">zmodType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">countZmodType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ringType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">countRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comUnitRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">idomainType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">numDomainType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">numFieldType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">decFieldType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">closedFieldType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">numClosedFieldType</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="Algebraics.Exports.algCeq"><span class="id" title="abbreviation">algCeq</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.eqType"><span class="id" title="definition">eqType</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="Algebraics.Exports.algCzmod"><span class="id" title="abbreviation">algCzmod</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.zmodType"><span class="id" title="definition">zmodType</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="Algebraics.Exports.algCring"><span class="id" title="abbreviation">algCring</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.ringType"><span class="id" title="definition">ringType</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="Algebraics.Exports.algCuring"><span class="id" title="abbreviation">algCuring</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.unitRingType"><span class="id" title="definition">unitRingType</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="Algebraics.Exports.algCnum"><span class="id" title="abbreviation">algCnum</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.numDomainType"><span class="id" title="definition">numDomainType</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="Algebraics.Exports.algCfield"><span class="id" title="abbreviation">algCfield</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.fieldType"><span class="id" title="definition">fieldType</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="Algebraics.Exports.algCnumField"><span class="id" title="abbreviation">algCnumField</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.numFieldType"><span class="id" title="definition">numFieldType</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="Algebraics.Exports.algCnumClosedField"><span class="id" title="abbreviation">algCnumClosedField</span></a> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.numClosedFieldType"><span class="id" title="definition">numClosedFieldType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="Algebraics.Exports.Creal"><span class="id" title="abbreviation">Creal</span></a> := (@<a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Def.Rreal"><span class="id" title="definition">Num.Def.Rreal</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Implementation.numDomainType"><span class="id" title="definition">numDomainType</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Exports.getCrat"><span class="id" title="definition">getCrat</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.GetCrat_spec"><span class="id" title="constructor">GetCrat_spec</span></a> <span class="id" title="var">CtoQ</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.getCrat_subproof"><span class="id" title="lemma">getCrat_subproof</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">CtoQ</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Exports.Crat"><span class="id" title="definition">Crat</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</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.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a> := <span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.rat.html#ratr"><span class="id" title="definition">ratr</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.getCrat"><span class="id" title="definition">getCrat</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Exports.floorC"><span class="id" title="definition">floorC</span></a> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#sval"><span class="id" title="abbreviation">sval</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.floorC_subproof"><span class="id" title="lemma">floorC_subproof</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Exports.Cint"><span class="id" title="definition">Cint</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</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.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a> := <span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">)%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Exports.truncC"><span class="id" title="definition">truncC</span></a> <span class="id" title="var">x</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#a3446a989be902579d41cbac1597f4cf"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a>%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> 0%<span class="id" title="var">N</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Exports.Cnat"><span class="id" title="definition">Cnat</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</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.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a> := <span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.truncC"><span class="id" title="definition">truncC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Exports.minCpoly"><span class="id" title="definition">minCpoly</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a> :=<br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#exist2"><span class="id" title="constructor">exist2</span></a> <span class="id" title="var">p</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.minCpoly_subproof"><span class="id" title="lemma">minCpoly_subproof</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.algebra.rat.html#ratr"><span class="id" title="definition">ratr</span></a> <span class="id" title="var">p</span>.<br/> - -<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.nat_divisor"><span class="id" title="definition">nat_divisor</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.nat_divisor"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.nat_divisor"><span class="id" title="definition">nat</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.nat_divisor"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.nat_divisor"><span class="id" title="definition">divisor</span></a>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.int_divisor"><span class="id" title="definition">int_divisor</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.int_divisor"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.int_divisor"><span class="id" title="definition">int</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.int_divisor"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.int_divisor"><span class="id" title="definition">divisor</span></a>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.algC_divisor"><span class="id" title="definition">algC_divisor</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.algC_divisor"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.algC_divisor"><span class="id" title="definition">algC</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.algC_divisor"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Internals.algC_divisor"><span class="id" title="definition">divisor</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Algebraics.Exports.nCdivE"><span class="id" title="lemma">nCdivE</span></a> (<span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) : <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.divisor"><span class="id" title="definition">divisor</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="Algebraics.Exports.zCdivE"><span class="id" title="lemma">zCdivE</span></a> (<span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>) : <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.divisor"><span class="id" title="definition">divisor</span></a>. <br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Exports.CdivE"><span class="id" title="definition">CdivE</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.nCdivE"><span class="id" title="lemma">nCdivE</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.zCdivE"><span class="id" title="lemma">zCdivE</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Exports.dvdC"><span class="id" title="definition">dvdC</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#Algebraics.divisor"><span class="id" title="definition">divisor</span></a>) : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</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.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a> :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#69c431a9c94f6f30a655bd7ddb59037b"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.Cint"><span class="id" title="definition">Cint</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="b94462522df85d8cb1d6596b03c49ad4"><span class="id" title="notation">"</span></a>x %| y" := (<span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.dvdC"><span class="id" title="definition">dvdC</span></a> <span class="id" title="var">x</span>) : <span class="id" title="var">C_expanded_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">"</span></a>x %| y" := (@<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#in_mem"><span class="id" title="definition">in_mem</span></a> <a class="idref" href="mathcomp.field.algC.html#Algebraics.divisor"><span class="id" title="definition">divisor</span></a> <span class="id" title="var">y</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.dvdC"><span class="id" title="definition">dvdC</span></a> <span class="id" title="var">x</span>))) : <span class="id" title="var">C_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Algebraics.Exports.eqCmod"><span class="id" title="definition">eqCmod</span></a> (<span class="id" title="var">e</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.field.algC.html#Algebraics.divisor"><span class="id" title="definition">divisor</span></a>) := (<a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">"</span></a>x == y %[mod e ]" := (<a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports.eqCmod"><span class="id" title="definition">eqCmod</span></a> <span class="id" title="var">e</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>) : <span class="id" title="var">C_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="aa7ae38652f54e25821cb36f6decd206"><span class="id" title="notation">"</span></a>x != y %[mod e ]" := (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b3ebd0deddd84fd60e149cb5ef719351"><span class="id" title="notation">~~</span></a> (<span class="id" title="var">x</span> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <span class="id" title="var">e</span><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span>) : <span class="id" title="var">C_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.algC.html#Algebraics.Exports"><span class="id" title="module">Exports</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.algC.html#Algebraics"><span class="id" title="module">Algebraics</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Export</span> <span class="id" title="var">Algebraics.Exports</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="AlgebraicsTheory"><span class="id" title="section">AlgebraicsTheory</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a>) (<span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>) (<span class="id" title="var">b</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a>).<br/> -<span class="id" title="keyword">Import</span> <span class="id" title="var">Algebraics.Internals</span>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Local Hint Resolve</span> (<a class="idref" href="mathcomp.algebra.ssrint.html#intr_inj"><span class="id" title="definition">intr_inj</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.field.algC.html#ZtoC"><span class="id" title="abbreviation">ZtoC</span></a>) : <span class="id" title="var">core</span>.<br/> - -<br/> -</div> - -<div class="doc"> - Specialization of a few basic ssrnum order lemmas. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="eqC_nat"><span class="id" title="definition">eqC_nat</span></a> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.eqr_nat"><span class="id" title="lemma">eqr_nat</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="leC_nat"><span class="id" title="definition">leC_nat</span></a> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#ba5152cc8b7dbce43c273ac9c15cfb7c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#ba5152cc8b7dbce43c273ac9c15cfb7c"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">N</span> := <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.ler_nat"><span class="id" title="lemma">ler_nat</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="ltC_nat"><span class="id" title="definition">ltC_nat</span></a> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#292c223180a62926ca0f2279c23ce13c"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#292c223180a62926ca0f2279c23ce13c"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">N</span> := <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.ltr_nat"><span class="id" title="lemma">ltr_nat</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Cchar"><span class="id" title="definition">Cchar</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#0928aaf0450c3a4c5521d7d3da15b6d8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0928aaf0450c3a4c5521d7d3da15b6d8"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0928aaf0450c3a4c5521d7d3da15b6d8"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred0"><span class="id" title="definition">pred0</span></a> := @<a class="idref" href="mathcomp.algebra.ssrnum.html#Num.Theory.char_num"><span class="id" title="lemma">char_num</span></a> <span class="id" title="var">_</span>.<br/> - -<br/> -</div> - -<div class="doc"> - This can be used in the converse direction to evaluate assertions over - manifest rationals, such as 3%:R^-1 + 7%:%^-1 < 2%:%^-1 :> algC. - Missing norm and integer exponent, due to gaps in ssrint and rat. -</div> -<div class="code"> -<span class="id" title="keyword">Definition</span> <a name="CratrE"><span class="id" title="definition">CratrE</span></a> :=<br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">CnF</span> := <a class="idref" href="mathcomp.field.algC.html#numFieldType"><span class="id" title="definition">Algebraics.Implementation.numFieldType</span></a> <span class="id" title="tactic">in</span><br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">QtoCm</span> := <a class="idref" href="mathcomp.algebra.rat.html#ratr_rmorphism"><span class="id" title="definition">ratr_rmorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#CnF"><span class="id" title="variable">CnF</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">((</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.field.algC.html#QtoCm"><span class="id" title="variable">QtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorph1"><span class="id" title="definition">rmorph1</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoCm"><span class="id" title="variable">QtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorphMn"><span class="id" title="definition">rmorphMn</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoCm"><span class="id" title="variable">QtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorphN"><span class="id" title="definition">rmorphN</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoCm"><span class="id" title="variable">QtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorphD"><span class="id" title="definition">rmorphD</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoCm"><span class="id" title="variable">QtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">),</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorphM"><span class="id" title="definition">rmorphM</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoCm"><span class="id" title="variable">QtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorphX"><span class="id" title="definition">rmorphX</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoCm"><span class="id" title="variable">QtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.fmorphV"><span class="id" title="definition">fmorphV</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoCm"><span class="id" title="variable">QtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">),</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#rmorphMz"><span class="id" title="lemma">rmorphMz</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoCm"><span class="id" title="variable">QtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#rmorphXz"><span class="id" title="lemma">rmorphXz</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoCm"><span class="id" title="variable">QtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> @<a class="idref" href="mathcomp.algebra.rat.html#ratr_norm"><span class="id" title="lemma">ratr_norm</span></a> <a class="idref" href="mathcomp.field.algC.html#CnF"><span class="id" title="variable">CnF</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> @<a class="idref" href="mathcomp.algebra.rat.html#ratr_sg"><span class="id" title="lemma">ratr_sg</span></a> <a class="idref" href="mathcomp.field.algC.html#CnF"><span class="id" title="variable">CnF</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">),</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#cf4622b495e328f0df000006fee34402"><span class="id" title="notation">=^~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a>@<a class="idref" href="mathcomp.algebra.rat.html#ler_rat"><span class="id" title="lemma">ler_rat</span></a> <a class="idref" href="mathcomp.field.algC.html#CnF"><span class="id" title="variable">CnF</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> @<a class="idref" href="mathcomp.algebra.rat.html#ltr_rat"><span class="id" title="lemma">ltr_rat</span></a> <a class="idref" href="mathcomp.field.algC.html#CnF"><span class="id" title="variable">CnF</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#inj_eq"><span class="id" title="lemma">inj_eq</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.fmorph_inj"><span class="id" title="definition">fmorph_inj</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoCm"><span class="id" title="variable">QtoCm</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)))</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="CintrE"><span class="id" title="definition">CintrE</span></a> :=<br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">CnF</span> := <a class="idref" href="mathcomp.field.algC.html#numFieldType"><span class="id" title="definition">Algebraics.Implementation.numFieldType</span></a> <span class="id" title="tactic">in</span><br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">ZtoCm</span> := <a class="idref" href="mathcomp.algebra.ssrint.html#intmul1_rmorphism"><span class="id" title="definition">intmul1_rmorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#CnF"><span class="id" title="variable">CnF</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">((</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.field.algC.html#ZtoCm"><span class="id" title="variable">ZtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorph1"><span class="id" title="definition">rmorph1</span></a> <a class="idref" href="mathcomp.field.algC.html#ZtoCm"><span class="id" title="variable">ZtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorphMn"><span class="id" title="definition">rmorphMn</span></a> <a class="idref" href="mathcomp.field.algC.html#ZtoCm"><span class="id" title="variable">ZtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorphN"><span class="id" title="definition">rmorphN</span></a> <a class="idref" href="mathcomp.field.algC.html#ZtoCm"><span class="id" title="variable">ZtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorphD"><span class="id" title="definition">rmorphD</span></a> <a class="idref" href="mathcomp.field.algC.html#ZtoCm"><span class="id" title="variable">ZtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">),</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorphM"><span class="id" title="definition">rmorphM</span></a> <a class="idref" href="mathcomp.field.algC.html#ZtoCm"><span class="id" title="variable">ZtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.rmorphX"><span class="id" title="definition">rmorphX</span></a> <a class="idref" href="mathcomp.field.algC.html#ZtoCm"><span class="id" title="variable">ZtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">),</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#rmorphMz"><span class="id" title="lemma">rmorphMz</span></a> <a class="idref" href="mathcomp.field.algC.html#ZtoCm"><span class="id" title="variable">ZtoCm</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> @<a class="idref" href="mathcomp.algebra.ssrint.html#intr_norm"><span class="id" title="lemma">intr_norm</span></a> <a class="idref" href="mathcomp.field.algC.html#CnF"><span class="id" title="variable">CnF</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> @<a class="idref" href="mathcomp.algebra.ssrint.html#intr_sg"><span class="id" title="lemma">intr_sg</span></a> <a class="idref" href="mathcomp.field.algC.html#CnF"><span class="id" title="variable">CnF</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">),</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#cf4622b495e328f0df000006fee34402"><span class="id" title="notation">=^~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a>@<a class="idref" href="mathcomp.algebra.ssrint.html#ler_int"><span class="id" title="lemma">ler_int</span></a> <a class="idref" href="mathcomp.field.algC.html#CnF"><span class="id" title="variable">CnF</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> @<a class="idref" href="mathcomp.algebra.ssrint.html#ltr_int"><span class="id" title="lemma">ltr_int</span></a> <a class="idref" href="mathcomp.field.algC.html#CnF"><span class="id" title="variable">CnF</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#inj_eq"><span class="id" title="lemma">inj_eq</span></a> (@<a class="idref" href="mathcomp.algebra.ssrint.html#intr_inj"><span class="id" title="definition">intr_inj</span></a> <a class="idref" href="mathcomp.field.algC.html#CnF"><span class="id" title="variable">CnF</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)))</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="AlgebraicsTheory.nz2"><span class="id" title="variable">nz2</span></a> : 2<a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a>. <br/> - -<br/> -</div> - -<div class="doc"> - Conjugation and norm. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="algC_algebraic"><span class="id" title="definition">algC_algebraic</span></a> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.field.algC.html#algebraic"><span class="id" title="axiom">Algebraics.Implementation.algebraic</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Real number subset. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Creal0"><span class="id" title="lemma">Creal0</span></a> : 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.field.algC.html#Creal"><span class="id" title="abbreviation">Creal</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="Creal1"><span class="id" title="lemma">Creal1</span></a> : 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.field.algC.html#Creal"><span class="id" title="abbreviation">Creal</span></a>. <br/> -</div> - -<div class="doc"> - Trivial cannot resolve a general real0 hint. -</div> -<div class="code"> -<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">Creal0</span> <span class="id" title="var">Creal1</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="algCrect"><span class="id" title="lemma">algCrect</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#41f056fd884172371f967a4a9b1ae751"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#41f056fd884172371f967a4a9b1ae751"><span class="id" title="notation">Re</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#075696c58083c87c2cf84f5ae31b0cb0"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#075696c58083c87c2cf84f5ae31b0cb0"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#e17db6da38f8f20b1006c3799708d2df"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#e17db6da38f8f20b1006c3799708d2df"><span class="id" title="notation">Im</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="algCreal_Re"><span class="id" title="lemma">algCreal_Re</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrnum.html#41f056fd884172371f967a4a9b1ae751"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#41f056fd884172371f967a4a9b1ae751"><span class="id" title="notation">Re</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.field.algC.html#Creal"><span class="id" title="abbreviation">Creal</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="algCreal_Im"><span class="id" title="lemma">algCreal_Im</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrnum.html#e17db6da38f8f20b1006c3799708d2df"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#e17db6da38f8f20b1006c3799708d2df"><span class="id" title="notation">Im</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.field.algC.html#Creal"><span class="id" title="abbreviation">Creal</span></a>.<br/> - <span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">algCreal_Re</span> <span class="id" title="var">algCreal_Im</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -</div> - -<div class="doc"> - Integer subset. - Not relying on the undocumented interval library, for now. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="floorC_itv"><span class="id" title="lemma">floorC_itv</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.field.algC.html#Creal"><span class="id" title="abbreviation">Creal</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">)%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> 1<a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">)%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="floorC_def"><span class="id" title="lemma">floorC_def</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> 1<a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">)%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="intCK"><span class="id" title="lemma">intCK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intr"><span class="id" title="abbreviation">intr</span></a> <a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="floorCK"><span class="id" title="lemma">floorCK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intr"><span class="id" title="abbreviation">intr</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="floorC0"><span class="id" title="lemma">floorC0</span></a> : <a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0. <br/> -<span class="id" title="keyword">Lemma</span> <a name="floorC1"><span class="id" title="lemma">floorC1</span></a> : <a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1. <br/> -<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">floorC0</span> <span class="id" title="var">floorC1</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="floorCpK"><span class="id" title="lemma">floorCpK</span></a> (<span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intr"><span class="id" title="abbreviation">intr</span></a> (<a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="floorCpP"><span class="id" title="lemma">floorCpP</span></a> (<span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">q</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intr"><span class="id" title="abbreviation">intr</span></a> <a class="idref" href="mathcomp.field.algC.html#q"><span class="id" title="variable">q</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cint_int"><span class="id" title="lemma">Cint_int</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="CintP"><span class="id" title="lemma">CintP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">m</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a>) (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="floorCD"><span class="id" title="lemma">floorCD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.algC.html#Creal"><span class="id" title="abbreviation">Creal</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="floorCN"><span class="id" title="lemma">floorCN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="floorCM"><span class="id" title="lemma">floorCM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="floorCX"><span class="id" title="lemma">floorCX</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rpred_Cint"><span class="id" title="lemma">rpred_Cint</span></a><br/> - (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">ringS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.subringPred"><span class="id" title="abbreviation">subringPred</span></a> <a class="idref" href="mathcomp.field.algC.html#S"><span class="id" title="variable">S</span></a>) (<span class="id" title="var">kS</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.field.algC.html#ringS"><span class="id" title="variable">ringS</span></a>) <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#kS"><span class="id" title="variable">kS</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cint0"><span class="id" title="lemma">Cint0</span></a> : 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="Cint1"><span class="id" title="lemma">Cint1</span></a> : 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a>. <br/> -<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">Cint0</span> <span class="id" title="var">Cint1</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Cint_key"><span class="id" title="lemma">Cint_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred_key"><span class="id" title="inductive">pred_key</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="Cint_subring"><span class="id" title="lemma">Cint_subring</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.subring_closed"><span class="id" title="abbreviation">subring_closed</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cint_keyed</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#KeyedPred"><span class="id" title="definition">KeyedPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint_key"><span class="id" title="lemma">Cint_key</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cint_opprPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.OpprPred"><span class="id" title="definition">OpprPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint_subring"><span class="id" title="lemma">Cint_subring</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cint_addrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.AddrPred"><span class="id" title="definition">AddrPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint_subring"><span class="id" title="lemma">Cint_subring</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cint_mulrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.MulrPred"><span class="id" title="definition">MulrPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint_subring"><span class="id" title="lemma">Cint_subring</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cint_zmodPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.ZmodPred"><span class="id" title="definition">ZmodPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint_subring"><span class="id" title="lemma">Cint_subring</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cint_semiringPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SemiringPred"><span class="id" title="definition">SemiringPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint_subring"><span class="id" title="lemma">Cint_subring</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cint_smulrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SmulrPred"><span class="id" title="definition">SmulrPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint_subring"><span class="id" title="lemma">Cint_subring</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cint_subringPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SubringPred"><span class="id" title="definition">SubringPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint_subring"><span class="id" title="lemma">Cint_subring</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Creal_Cint"><span class="id" title="lemma">Creal_Cint</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#Creal"><span class="id" title="abbreviation">Creal</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="conj_Cint"><span class="id" title="lemma">conj_Cint</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#651a776cde67abfb8f7231c08f29d878"><span class="id" title="notation">^*</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cint_normK"><span class="id" title="lemma">Cint_normK</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> 2.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="CintEsign"><span class="id" title="lemma">CintEsign</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> 0)%<span class="id" title="var">C</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Natural integer subset. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="truncC_itv"><span class="id" title="lemma">truncC_itv</span></a> <span class="id" title="var">x</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">).+1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="truncC_def"><span class="id" title="lemma">truncC_def</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="natCK"><span class="id" title="lemma">natCK</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="CnatP"><span class="id" title="lemma">CnatP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">n</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a>) (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="truncCK"><span class="id" title="lemma">truncCK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natmul"><span class="id" title="definition">GRing.natmul</span></a> 1)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="truncC_gt0"><span class="id" title="lemma">truncC_gt0</span></a> <span class="id" title="var">x</span> : (0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>1 <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="truncC0Pn"><span class="id" title="lemma">truncC0Pn</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0%<span class="id" title="var">N</span>) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b3ebd0deddd84fd60e149cb5ef719351"><span class="id" title="notation">~~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b3ebd0deddd84fd60e149cb5ef719351"><span class="id" title="notation">(</span></a>1 <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b3ebd0deddd84fd60e149cb5ef719351"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="truncC0"><span class="id" title="lemma">truncC0</span></a> : <a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0%<span class="id" title="var">N</span>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="truncC1"><span class="id" title="lemma">truncC1</span></a> : <a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">N</span>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="truncCD"><span class="id" title="lemma">truncCD</span></a> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.nneg"><span class="id" title="abbreviation">Num.nneg</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">>-></span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="truncCM"><span class="id" title="lemma">truncCM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">>-></span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ea2ff3d561159081cea6fb2e8113cc54"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="truncCX"><span class="id" title="lemma">truncCX</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.algC.html#truncC"><span class="id" title="definition">truncC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">>-></span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rpred_Cnat"><span class="id" title="lemma">rpred_Cnat</span></a><br/> - (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">ringS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.semiringPred"><span class="id" title="abbreviation">semiringPred</span></a> <a class="idref" href="mathcomp.field.algC.html#S"><span class="id" title="variable">S</span></a>) (<span class="id" title="var">kS</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.field.algC.html#ringS"><span class="id" title="variable">ringS</span></a>) <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#kS"><span class="id" title="variable">kS</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cnat_nat"><span class="id" title="lemma">Cnat_nat</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="Cnat0"><span class="id" title="lemma">Cnat0</span></a> : 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="Cnat1"><span class="id" title="lemma">Cnat1</span></a> : 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a>. <br/> -<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">Cnat_nat</span> <span class="id" title="var">Cnat0</span> <span class="id" title="var">Cnat1</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Cnat_key"><span class="id" title="lemma">Cnat_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred_key"><span class="id" title="inductive">pred_key</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="Cnat_semiring"><span class="id" title="lemma">Cnat_semiring</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.semiring_closed"><span class="id" title="abbreviation">semiring_closed</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cnat_keyed</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#KeyedPred"><span class="id" title="definition">KeyedPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat_key"><span class="id" title="lemma">Cnat_key</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cnat_addrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.AddrPred"><span class="id" title="definition">AddrPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat_semiring"><span class="id" title="lemma">Cnat_semiring</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cnat_mulrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.MulrPred"><span class="id" title="definition">MulrPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat_semiring"><span class="id" title="lemma">Cnat_semiring</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Cnat_semiringPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SemiringPred"><span class="id" title="definition">SemiringPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat_semiring"><span class="id" title="lemma">Cnat_semiring</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cnat_ge0"><span class="id" title="lemma">Cnat_ge0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cnat_gt0"><span class="id" title="lemma">Cnat_gt0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="conj_Cnat"><span class="id" title="lemma">conj_Cnat</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#651a776cde67abfb8f7231c08f29d878"><span class="id" title="notation">^*</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="norm_Cnat"><span class="id" title="lemma">norm_Cnat</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Creal_Cnat"><span class="id" title="lemma">Creal_Cnat</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#Creal"><span class="id" title="abbreviation">Creal</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cnat_sum_eq1"><span class="id" title="lemma">Cnat_sum_eq1</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.field.algC.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.field.algC.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.field.algC.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.algC.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.algC.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">{</span></a><span class="id" title="var">i</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.algC.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.field.algC.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.algC.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><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.field.algC.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.algC.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.algC.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cnat_mul_eq1"><span class="id" title="lemma">Cnat_mul_eq1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> :<br/> - <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cnat_prod_eq1"><span class="id" title="lemma">Cnat_prod_eq1</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.field.algC.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.field.algC.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.field.algC.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#443901d1788fc95745443c70e786b07b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#443901d1788fc95745443c70e786b07b"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#443901d1788fc95745443c70e786b07b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#443901d1788fc95745443c70e786b07b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.algC.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#443901d1788fc95745443c70e786b07b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.algC.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.field.algC.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.algC.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> - -<br/> -</div> - -<div class="doc"> - Relating Cint and Cnat. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cint_Cnat"><span class="id" title="lemma">Cint_Cnat</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="CintE"><span class="id" title="lemma">CintE</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cnat_norm_Cint"><span class="id" title="lemma">Cnat_norm_Cint</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="CnatEint"><span class="id" title="lemma">CnatEint</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="CintEge0"><span class="id" title="lemma">CintEge0</span></a> <span class="id" title="var">x</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cnat_exp_even"><span class="id" title="lemma">Cnat_exp_even</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b3ebd0deddd84fd60e149cb5ef719351"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#odd"><span class="id" title="definition">odd</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="norm_Cint_ge1"><span class="id" title="lemma">norm_Cint_ge1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> 1 <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sqr_Cint_ge1"><span class="id" title="lemma">sqr_Cint_ge1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> 1 <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> 2.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cint_ler_sqr"><span class="id" title="lemma">Cint_ler_sqr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> 2.<br/> - -<br/> -</div> - -<div class="doc"> - Integer divisibility. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdCP"><span class="id" title="lemma">dvdCP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">z</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdCP_nat"><span class="id" title="lemma">dvdCP_nat</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">n</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdC0"><span class="id" title="lemma">dvdC0</span></a> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> 0)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvd0C"><span class="id" title="lemma">dvd0C</span></a> <span class="id" title="var">x</span> : (0 <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdC_mull"><span class="id" title="lemma">dvdC_mull</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdC_mulr"><span class="id" title="lemma">dvdC_mulr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdC_mul2r"><span class="id" title="lemma">dvdC_mul2r</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdC_mul2l"><span class="id" title="lemma">dvdC_mul2l</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdC_trans"><span class="id" title="lemma">dvdC_trans</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdC_refl"><span class="id" title="lemma">dvdC_refl</span></a> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">C</span>.<br/> - <span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">dvdC_refl</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="dvdC_key"><span class="id" title="lemma">dvdC_key</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred_key"><span class="id" title="inductive">pred_key</span></a> (<a class="idref" href="mathcomp.field.algC.html#dvdC"><span class="id" title="definition">dvdC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>). <br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdC_zmod"><span class="id" title="lemma">dvdC_zmod</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.zmod_closed"><span class="id" title="abbreviation">zmod_closed</span></a> (<a class="idref" href="mathcomp.field.algC.html#dvdC"><span class="id" title="definition">dvdC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">dvdC_keyed</span> <span class="id" title="var">x</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#KeyedPred"><span class="id" title="definition">KeyedPred</span></a> (<a class="idref" href="mathcomp.field.algC.html#dvdC_key"><span class="id" title="lemma">dvdC_key</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">dvdC_opprPred</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.OpprPred"><span class="id" title="definition">OpprPred</span></a> (<a class="idref" href="mathcomp.field.algC.html#dvdC_zmod"><span class="id" title="lemma">dvdC_zmod</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">dvdC_addrPred</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.AddrPred"><span class="id" title="definition">AddrPred</span></a> (<a class="idref" href="mathcomp.field.algC.html#dvdC_zmod"><span class="id" title="lemma">dvdC_zmod</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">dvdC_zmodPred</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.ZmodPred"><span class="id" title="definition">ZmodPred</span></a> (<a class="idref" href="mathcomp.field.algC.html#dvdC_zmod"><span class="id" title="lemma">dvdC_zmod</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdC_nat"><span class="id" title="lemma">dvdC_nat</span></a> (<span class="id" title="var">p</span> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) : (<a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.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="dvdC_int"><span class="id" title="lemma">dvdC_int</span></a> (<span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.field.algC.html#floorC"><span class="id" title="definition">floorC</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -</div> - -<div class="doc"> - Elementary modular arithmetic. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmod_refl"><span class="id" title="lemma">eqCmod_refl</span></a> <span class="id" title="var">e</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmodm0"><span class="id" title="lemma">eqCmodm0</span></a> <span class="id" title="var">e</span> : (<a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span>. <br/> -<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">eqCmod_refl</span> <span class="id" title="var">eqCmodm0</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmod0"><span class="id" title="lemma">eqCmod0</span></a> <span class="id" title="var">e</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.field.algC.html#a8acd6561c48edf701c07f3c736659e7"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmod_sym"><span class="id" title="lemma">eqCmod_sym</span></a> <span class="id" title="var">e</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmod_trans"><span class="id" title="lemma">eqCmod_trans</span></a> <span class="id" title="var">e</span> <span class="id" title="var">y</span> <span class="id" title="var">x</span> <span class="id" title="var">z</span> :<br/> - (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmod_transl"><span class="id" title="lemma">eqCmod_transl</span></a> <span class="id" title="var">e</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> :<br/> - (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmod_transr"><span class="id" title="lemma">eqCmod_transr</span></a> <span class="id" title="var">e</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> :<br/> - (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmodN"><span class="id" title="lemma">eqCmodN</span></a> <span class="id" title="var">e</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : (<a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmodDr"><span class="id" title="lemma">eqCmodDr</span></a> <span class="id" title="var">e</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : (<a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmodDl"><span class="id" title="lemma">eqCmodDl</span></a> <span class="id" title="var">e</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmodD"><span class="id" title="lemma">eqCmodD</span></a> <span class="id" title="var">e</span> <span class="id" title="var">x1</span> <span class="id" title="var">x2</span> <span class="id" title="var">y1</span> <span class="id" title="var">y2</span> :<br/> - (<a class="idref" href="mathcomp.field.algC.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.algC.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.algC.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmod_nat"><span class="id" title="lemma">eqCmod_nat</span></a> (<span class="id" title="var">e</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) : (<a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#9c3b63aefc7fc3a3d3aa9b85185d069f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#9c3b63aefc7fc3a3d3aa9b85185d069f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.ssreflect.div.html#9c3b63aefc7fc3a3d3aa9b85185d069f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.ssreflect.div.html#9c3b63aefc7fc3a3d3aa9b85185d069f"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmod0_nat"><span class="id" title="lemma">eqCmod0_nat</span></a> (<span class="id" title="var">e</span> <span class="id" title="var">m</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) : (<a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">C</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmodMr"><span class="id" title="lemma">eqCmodMr</span></a> <span class="id" title="var">e</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">z</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmodMl"><span class="id" title="lemma">eqCmodMl</span></a> <span class="id" title="var">e</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">z</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmodMl0"><span class="id" title="lemma">eqCmodMl0</span></a> <span class="id" title="var">e</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmodMr0"><span class="id" title="lemma">eqCmodMr0</span></a> <span class="id" title="var">e</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmod_addl_mul"><span class="id" title="lemma">eqCmod_addl_mul</span></a> <span class="id" title="var">e</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>%<span class="id" title="var">C</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqCmodM"><span class="id" title="lemma">eqCmodM</span></a> <span class="id" title="var">e</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x1</span> <span class="id" title="var">y2</span> <span class="id" title="var">x2</span> <span class="id" title="var">y1</span>,<br/> - <a class="idref" href="mathcomp.field.algC.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.algC.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.algC.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.field.algC.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.field.algC.html#074a766e3f389a9f57f000217fe90e0f"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">}</span></a>%<span class="id" title="var">C</span>.<br/> - -<br/> -</div> - -<div class="doc"> - Rational number subset. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="ratCK"><span class="id" title="lemma">ratCK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoC"><span class="id" title="abbreviation">QtoC</span></a> <a class="idref" href="mathcomp.field.algC.html#CtoQ"><span class="id" title="abbreviation">CtoQ</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="getCratK"><span class="id" title="lemma">getCratK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.field.algC.html#CtoQ"><span class="id" title="abbreviation">CtoQ</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoC"><span class="id" title="abbreviation">QtoC</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Crat_rat"><span class="id" title="lemma">Crat_rat</span></a> (<span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.rat.html#rat"><span class="id" title="record">rat</span></a>) : <a class="idref" href="mathcomp.field.algC.html#QtoC"><span class="id" title="abbreviation">QtoC</span></a> <a class="idref" href="mathcomp.field.algC.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="CratP"><span class="id" title="lemma">CratP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">a</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#QtoC"><span class="id" title="abbreviation">QtoC</span></a> <a class="idref" href="mathcomp.field.algC.html#a"><span class="id" title="variable">a</span></a>) (<a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Crat0"><span class="id" title="lemma">Crat0</span></a> : 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="Crat1"><span class="id" title="lemma">Crat1</span></a> : 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a>. <br/> -<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">Crat0</span> <span class="id" title="var">Crat1</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Crat_key"><span class="id" title="lemma">Crat_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred_key"><span class="id" title="inductive">pred_key</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="Crat_divring_closed"><span class="id" title="lemma">Crat_divring_closed</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.divring_closed"><span class="id" title="abbreviation">divring_closed</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Crat_keyed</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#KeyedPred"><span class="id" title="definition">KeyedPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat_key"><span class="id" title="lemma">Crat_key</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Crat_opprPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.OpprPred"><span class="id" title="definition">OpprPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat_divring_closed"><span class="id" title="lemma">Crat_divring_closed</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Crat_addrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.AddrPred"><span class="id" title="definition">AddrPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat_divring_closed"><span class="id" title="lemma">Crat_divring_closed</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Crat_mulrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.MulrPred"><span class="id" title="definition">MulrPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat_divring_closed"><span class="id" title="lemma">Crat_divring_closed</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Crat_zmodPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.ZmodPred"><span class="id" title="definition">ZmodPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat_divring_closed"><span class="id" title="lemma">Crat_divring_closed</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Crat_semiringPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SemiringPred"><span class="id" title="definition">SemiringPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat_divring_closed"><span class="id" title="lemma">Crat_divring_closed</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Crat_smulrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SmulrPred"><span class="id" title="definition">SmulrPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat_divring_closed"><span class="id" title="lemma">Crat_divring_closed</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Crat_divrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.DivrPred"><span class="id" title="definition">DivrPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat_divring_closed"><span class="id" title="lemma">Crat_divring_closed</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Crat_subringPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SubringPred"><span class="id" title="definition">SubringPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat_divring_closed"><span class="id" title="lemma">Crat_divring_closed</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Crat_sdivrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SdivrPred"><span class="id" title="definition">SdivrPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat_divring_closed"><span class="id" title="lemma">Crat_divring_closed</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Crat_divringPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.DivringPred"><span class="id" title="definition">DivringPred</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat_divring_closed"><span class="id" title="lemma">Crat_divring_closed</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rpred_Crat"><span class="id" title="lemma">rpred_Crat</span></a><br/> - (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">ringS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.divringPred"><span class="id" title="abbreviation">divringPred</span></a> <a class="idref" href="mathcomp.field.algC.html#S"><span class="id" title="variable">S</span></a>) (<span class="id" title="var">kS</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.field.algC.html#ringS"><span class="id" title="variable">ringS</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="conj_Crat"><span class="id" title="lemma">conj_Crat</span></a> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#651a776cde67abfb8f7231c08f29d878"><span class="id" title="notation">^*</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Creal_Crat"><span class="id" title="lemma">Creal_Crat</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.algC.html#Creal"><span class="id" title="abbreviation">Creal</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cint_rat"><span class="id" title="lemma">Cint_rat</span></a> <span class="id" title="var">a</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#QtoC"><span class="id" title="abbreviation">QtoC</span></a> <a class="idref" href="mathcomp.field.algC.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.rat.html#Qint"><span class="id" title="definition">Qint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="minCpolyP"><span class="id" title="lemma">minCpolyP</span></a> <span class="id" title="var">x</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">p</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.algC.html#minCpoly"><span class="id" title="definition">minCpoly</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#pQtoC"><span class="id" title="abbreviation">pQtoC</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.algebra.poly.html#monic"><span class="id" title="definition">monic</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">q</span>, <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> (<a class="idref" href="mathcomp.field.algC.html#pQtoC"><span class="id" title="abbreviation">pQtoC</span></a> <a class="idref" href="mathcomp.field.algC.html#q"><span class="id" title="variable">q</span></a>) <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.algC.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#64fc6df2b95b79b2107dd5d7f2014b97"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.algC.html#q"><span class="id" title="variable">q</span></a>)%<span class="id" title="var">R</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="minCpoly_monic"><span class="id" title="lemma">minCpoly_monic</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#minCpoly"><span class="id" title="definition">minCpoly</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.algebra.poly.html#monic"><span class="id" title="definition">monic</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="minCpoly_eq0"><span class="id" title="lemma">minCpoly_eq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#minCpoly"><span class="id" title="definition">minCpoly</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="root_minCpoly"><span class="id" title="lemma">root_minCpoly</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> (<a class="idref" href="mathcomp.field.algC.html#minCpoly"><span class="id" title="definition">minCpoly</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="size_minCpoly"><span class="id" title="lemma">size_minCpoly</span></a> <span class="id" title="var">x</span> : (1 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.field.algC.html#minCpoly"><span class="id" title="definition">minCpoly</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>))%<span class="id" title="var">N</span>.<br/> - -<br/> -</div> - -<div class="doc"> - Basic properties of automorphisms. -</div> -<div class="code"> -<span class="id" title="keyword">Section</span> <a name="AlgebraicsTheory.AutC"><span class="id" title="section">AutC</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">nu</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#algC"><span class="id" title="abbreviation">algC</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="aut_Cnat"><span class="id" title="lemma">aut_Cnat</span></a> <span class="id" title="var">nu</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="aut_Cint"><span class="id" title="lemma">aut_Cint</span></a> <span class="id" title="var">nu</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="aut_Crat"><span class="id" title="lemma">aut_Crat</span></a> <span class="id" title="var">nu</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cnat_aut"><span class="id" title="lemma">Cnat_aut</span></a> <span class="id" title="var">nu</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Cint_aut"><span class="id" title="lemma">Cint_aut</span></a> <span class="id" title="var">nu</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Crat_aut"><span class="id" title="lemma">Crat_aut</span></a> <span class="id" title="var">nu</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Crat"><span class="id" title="definition">Crat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="algC_invaut_subproof"><span class="id" title="lemma">algC_invaut_subproof</span></a> <span class="id" title="var">nu</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="mathcomp.field.algC.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="algC_invaut"><span class="id" title="definition">algC_invaut</span></a> <span class="id" title="var">nu</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#sval"><span class="id" title="abbreviation">sval</span></a> (<a class="idref" href="mathcomp.field.algC.html#algC_invaut_subproof"><span class="id" title="lemma">algC_invaut_subproof</span></a> <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="algC_invautK"><span class="id" title="lemma">algC_invautK</span></a> <span class="id" title="var">nu</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.field.algC.html#algC_invaut"><span class="id" title="definition">algC_invaut</span></a> <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a>) <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="algC_autK"><span class="id" title="lemma">algC_autK</span></a> <span class="id" title="var">nu</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a> (<a class="idref" href="mathcomp.field.algC.html#algC_invaut"><span class="id" title="definition">algC_invaut</span></a> <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="algC_invaut_is_rmorphism"><span class="id" title="lemma">algC_invaut_is_rmorphism</span></a> <span class="id" title="var">nu</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.field.algC.html#algC_invaut"><span class="id" title="definition">algC_invaut</span></a> <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a>).<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">algC_invaut_additive</span> <span class="id" title="var">nu</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> (<a class="idref" href="mathcomp.field.algC.html#algC_invaut_is_rmorphism"><span class="id" title="lemma">algC_invaut_is_rmorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">algC_invaut_rmorphism</span> <span class="id" title="var">nu</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.field.algC.html#algC_invaut_is_rmorphism"><span class="id" title="lemma">algC_invaut_is_rmorphism</span></a> <a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="minCpoly_aut"><span class="id" title="lemma">minCpoly_aut</span></a> <span class="id" title="var">nu</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.algC.html#minCpoly"><span class="id" title="definition">minCpoly</span></a> (<a class="idref" href="mathcomp.field.algC.html#nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#minCpoly"><span class="id" title="definition">minCpoly</span></a> <a class="idref" href="mathcomp.field.algC.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.algC.html#AlgebraicsTheory.AutC"><span class="id" title="section">AutC</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="AlgebraicsTheory.AutLmodC"><span class="id" title="section">AutLmodC</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="AlgebraicsTheory.AutLmodC.U"><span class="id" title="variable">U</span></a> <a name="AlgebraicsTheory.AutLmodC.V"><span class="id" title="variable">V</span></a> : <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#algC"><span class="id" title="abbreviation">algC</span></a>) (<a name="AlgebraicsTheory.AutLmodC.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.field.algC.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="raddfZ_Cnat"><span class="id" title="lemma">raddfZ_Cnat</span></a> <span class="id" title="var">a</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.algC.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#AlgebraicsTheory.AutLmodC.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.field.algC.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.algC.html#AlgebraicsTheory.AutLmodC.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="raddfZ_Cint"><span class="id" title="lemma">raddfZ_Cint</span></a> <span class="id" title="var">a</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.algC.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.algC.html#AlgebraicsTheory.AutLmodC.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.field.algC.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.algC.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.algC.html#AlgebraicsTheory.AutLmodC.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.algC.html#AlgebraicsTheory.AutLmodC"><span class="id" title="section">AutLmodC</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="AlgebraicsTheory.PredCmod"><span class="id" title="section">PredCmod</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="AlgebraicsTheory.PredCmod.V"><span class="id" title="variable">V</span></a> : <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#algC"><span class="id" title="abbreviation">algC</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rpredZ_Cnat"><span class="id" title="lemma">rpredZ_Cnat</span></a> <span class="id" title="var">S</span> (<span class="id" title="var">addS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.addrPred"><span class="id" title="abbreviation">addrPred</span></a> <a class="idref" href="mathcomp.field.algC.html#AlgebraicsTheory.PredCmod.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.algC.html#S"><span class="id" title="variable">S</span></a>) (<span class="id" title="var">kS</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.field.algC.html#addS"><span class="id" title="variable">addS</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cnat"><span class="id" title="definition">Cnat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.algC.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">z</span> <span class="id" title="var">u</span>, <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rpredZ_Cint"><span class="id" title="lemma">rpredZ_Cint</span></a> <span class="id" title="var">S</span> (<span class="id" title="var">subS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.zmodPred"><span class="id" title="abbreviation">zmodPred</span></a> <a class="idref" href="mathcomp.field.algC.html#AlgebraicsTheory.PredCmod.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.algC.html#S"><span class="id" title="variable">S</span></a>) (<span class="id" title="var">kS</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.field.algC.html#subS"><span class="id" title="variable">subS</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#Cint"><span class="id" title="definition">Cint</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.algC.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">z</span> <span class="id" title="var">u</span>, <a class="idref" href="mathcomp.field.algC.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.algC.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.algC.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.algC.html#AlgebraicsTheory.PredCmod"><span class="id" title="section">PredCmod</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.algC.html#AlgebraicsTheory"><span class="id" title="section">AlgebraicsTheory</span></a>.<br/> -<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">Creal0</span> <span class="id" title="var">Creal1</span> <span class="id" title="var">Cnat_nat</span> <span class="id" title="var">Cnat0</span> <span class="id" title="var">Cnat1</span> <span class="id" title="var">Cint0</span> <span class="id" title="var">Cint1</span> <span class="id" title="var">floorC0</span> <span class="id" title="var">Crat0</span> <span class="id" title="var">Crat1</span> : <span class="id" title="var">core</span>.<br/> -<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">dvdC0</span> <span class="id" title="var">dvdC_refl</span> <span class="id" title="var">eqCmod_refl</span> <span class="id" title="var">eqCmodm0</span> : <span class="id" title="var">core</span>.<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 |
