Sophie

Sophie

distrib > Mageia > 6 > armv5tl > media > core-release > by-pkgid > 3c7997fe0e8405f6d7b5563e63d17a78 > files > 92

coq-flocq-2.5.1-2.mga6.armv5tl.rpm

<!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>Flocq.Core.Fcore_generic_fmt</title>
</head>

<body>

<div id="page">

<div id="header">
</div>

<div id="main">

<h1 class="libtitle">Library Flocq.Core.Fcore_generic_fmt</h1>

<div class="code">
</div>

<div class="doc">
This file is part of the Flocq formalization of floating-point
arithmetic in Coq: http://flocq.gforge.inria.fr/

<div class="paragraph"> </div>

Copyright (C) 2010-2013 Sylvie Boldo
<br />
Copyright (C) 2010-2013 Guillaume Melquiond

<div class="paragraph"> </div>

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.

<div class="paragraph"> </div>

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
COPYING file for more details.

<div class="paragraph"> </div>

<a name="lab8"></a><h1 class="section">What is a real number belonging to a format, and many properties.</h1>

</div>
<div class="code">
<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="Flocq.Core.Fcore_Raux.html#"><span class="id" title="library">Fcore_Raux</span></a>.<br/>
<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="Flocq.Core.Fcore_defs.html#"><span class="id" title="library">Fcore_defs</span></a>.<br/>
<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="Flocq.Core.Fcore_rnd.html#"><span class="id" title="library">Fcore_rnd</span></a>.<br/>
<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="Flocq.Core.Fcore_float_prop.html#"><span class="id" title="library">Fcore_float_prop</span></a>.<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic"><span class="id" title="section">Generic</span></a>.<br/>

<br/>
<span class="id" title="keyword">Variable</span> <span class="id" title="keyword">beta</span> : <a class="idref" href="Flocq.Core.Fcore_Zaux.html#radix"><span class="id" title="record">radix</span></a>.<br/>

<br/>
<span class="id" title="keyword">Notation</span> <a name="bpow"><span class="id" title="abbreviation">bpow</span></a> <span class="id" title="var">e</span> := (<a class="idref" href="Flocq.Core.Fcore_Raux.html#bpow"><span class="id" title="definition">bpow</span></a> <span class="id" title="keyword">beta</span> <span class="id" title="var">e</span>).<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic.Format"><span class="id" title="section">Format</span></a>.<br/>

<br/>
<span class="id" title="keyword">Variable</span> <a name="Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>.<br/>

<br/>
</div>

<div class="doc">
To be a good fexp 
</div>
<div class="code">

<br/>
<span class="id" title="keyword">Class</span> <a name="Valid_exp"><span class="id" title="record">Valid_exp</span></a> :=<br/>
&nbsp;&nbsp;<a name="valid_exp"><span class="id" title="projection">valid_exp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">k</span> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>,<br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">(</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#273beba4f3453dbb29192b3ac740bb71"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#a3448b794f7a26d611ad36492b5d640b"><span class="id" title="notation">+</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">(</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#a3448b794f7a26d611ad36492b5d640b"><span class="id" title="notation">+</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">l</span> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#l"><span class="id" title="variable">l</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#l"><span class="id" title="variable">l</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">)</span></a>.<br/>

<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">valid_exp_</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_exp"><span class="id" title="class">Valid_exp</span></a> }.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="valid_exp_large"><span class="id" title="lemma">valid_exp_large</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">k</span> <span class="id" title="var">l</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#273beba4f3453dbb29192b3ac740bb71"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#l"><span class="id" title="variable">l</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#l"><span class="id" title="variable">l</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#273beba4f3453dbb29192b3ac740bb71"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#l"><span class="id" title="variable">l</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="valid_exp_large'"><span class="id" title="lemma">valid_exp_large'</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">k</span> <span class="id" title="var">l</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#273beba4f3453dbb29192b3ac740bb71"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#l"><span class="id" title="variable">l</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#l"><span class="id" title="variable">l</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#273beba4f3453dbb29192b3ac740bb71"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Definition</span> <a name="canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <span class="id" title="var">x</span> :=<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Definition</span> <a name="canonic"><span class="id" title="definition">canonic</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="Flocq.Core.Fcore_defs.html#float"><span class="id" title="record">float</span></a> <span class="id" title="keyword">beta</span>) :=<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_defs.html#Fexp"><span class="id" title="projection">Fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f"><span class="id" title="variable">f</span></a>).<br/>

<br/>
<span class="id" title="keyword">Definition</span> <a name="scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <span class="id" title="var">x</span> :=<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#361afbb9b173fae6251865f2da226003"><span class="id" title="notation">×</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>))%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Definition</span> <a name="generic_format"><span class="id" title="definition">generic_format</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a>) :=<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)) (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)).<br/>

<br/>
</div>

<div class="doc">
Basic facts 
</div>
<div class="code">
<span class="id" title="keyword">Theorem</span> <a name="generic_format_0"><span class="id" title="lemma">generic_format_0</span></a> :<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> 0.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="canonic_exp_opp"><span class="id" title="lemma">canonic_exp_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="canonic_exp_abs"><span class="id" title="lemma">canonic_exp_abs</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_bpow"><span class="id" title="lemma">generic_format_bpow</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#a3448b794f7a26d611ad36492b5d640b"><span class="id" title="notation">+</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_bpow'"><span class="id" title="lemma">generic_format_bpow'</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_F2R"><span class="id" title="lemma">generic_format_F2R</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">m</span> <span class="id" title="var">e</span>,<br/>
&nbsp;&nbsp;( <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> )%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)).<br/>

<br/>
<span class="id" title="keyword">Lemma</span> <a name="generic_format_F2R'"><span class="id" title="lemma">generic_format_F2R'</span></a>: <span class="id" title="keyword">∀</span> (<span class="id" title="var">x</span>:<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a>) (<span class="id" title="var">f</span>:<a class="idref" href="Flocq.Core.Fcore_defs.html#float"><span class="id" title="record">float</span></a> <span class="id" title="keyword">beta</span>),<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a>(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_defs.html#Fexp"><span class="id" title="projection">Fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">Z</span><a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="canonic_opp"><span class="id" title="lemma">canonic_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">m</span> <span class="id" title="var">e</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic"><span class="id" title="definition">canonic</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic"><span class="id" title="definition">canonic</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">-</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="canonic_abs"><span class="id" title="lemma">canonic_abs</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">m</span> <span class="id" title="var">e</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic"><span class="id" title="definition">canonic</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic"><span class="id" title="definition">canonic</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#Zabs"><span class="id" title="abbreviation">Zabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="canonic_0"><span class="id" title="lemma">canonic_0</span></a>: <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic"><span class="id" title="definition">canonic</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> 0 (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> 0%<span class="id" title="var">R</span>))).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="canonic_unicity"><span class="id" title="lemma">canonic_unicity</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">f1</span> <span class="id" title="var">f2</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic"><span class="id" title="definition">canonic</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic"><span class="id" title="definition">canonic</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f2"><span class="id" title="variable">f2</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="scaled_mantissa_generic"><span class="id" title="lemma">scaled_mantissa_generic</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="scaled_mantissa_mult_bpow"><span class="id" title="lemma">scaled_mantissa_mult_bpow</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#361afbb9b173fae6251865f2da226003"><span class="id" title="notation">×</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>))%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="scaled_mantissa_0"><span class="id" title="lemma">scaled_mantissa_0</span></a> :<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R0"><span class="id" title="axiom">R0</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="scaled_mantissa_opp"><span class="id" title="lemma">scaled_mantissa_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="scaled_mantissa_abs"><span class="id" title="lemma">scaled_mantissa_abs</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_opp"><span class="id" title="lemma">generic_format_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_abs"><span class="id" title="lemma">generic_format_abs</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_abs_inv"><span class="id" title="lemma">generic_format_abs_inv</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="canonic_exp_fexp"><span class="id" title="lemma">canonic_exp_fexp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="canonic_exp_fexp_pos"><span class="id" title="lemma">canonic_exp_fexp_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>.<br/>

<br/>
</div>

<div class="doc">
Properties when the real number is "small" (kind of subnormal) 
</div>
<div class="code">
<span class="id" title="keyword">Theorem</span> <a name="mantissa_small_pos"><span class="id" title="lemma">mantissa_small_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#7c35b2a93856d788d8a50a85631cf07a"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#361afbb9b173fae6251865f2da226003"><span class="id" title="notation">×</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#7c35b2a93856d788d8a50a85631cf07a"><span class="id" title="notation">&lt;</span></a> 1)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="scaled_mantissa_small"><span class="id" title="lemma">scaled_mantissa_small</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> 1)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="abs_scaled_mantissa_lt_bpow"><span class="id" title="lemma">abs_scaled_mantissa_lt_bpow</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>))%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="ln_beta_generic_gt"><span class="id" title="lemma">ln_beta_generic_gt</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#273beba4f3453dbb29192b3ac740bb71"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="mantissa_DN_small_pos"><span class="id" title="lemma">mantissa_DN_small_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#361afbb9b173fae6251865f2da226003"><span class="id" title="notation">×</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z0"><span class="id" title="constructor">Z0</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="mantissa_UP_small_pos"><span class="id" title="lemma">mantissa_UP_small_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#361afbb9b173fae6251865f2da226003"><span class="id" title="notation">×</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">Z</span>.<br/>

<br/>
</div>

<div class="doc">
Generic facts about any format 
</div>
<div class="code">
<span class="id" title="keyword">Theorem</span> <a name="generic_format_discrete"><span class="id" title="lemma">generic_format_discrete</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">m</span>,<br/>
&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">e</span> := <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <span class="id" title="keyword">in</span><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#7c35b2a93856d788d8a50a85631cf07a"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#7c35b2a93856d788d8a50a85631cf07a"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#a3448b794f7a26d611ad36492b5d640b"><span class="id" title="notation">+</span></a> 1) <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>))%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#611abc97cba304de784fa909dbdea1fa"><span class="id" title="notation">¬</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_canonic"><span class="id" title="lemma">generic_format_canonic</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">f</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic"><span class="id" title="definition">canonic</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f"><span class="id" title="variable">f</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_ge_bpow"><span class="id" title="lemma">generic_format_ge_bpow</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">emin</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#emin"><span class="id" title="variable">emin</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#emin"><span class="id" title="variable">emin</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="abs_lt_bpow_prec"><span class="id" title="lemma">abs_lt_bpow_prec</span></a>:<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">prec</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#prec"><span class="id" title="variable">prec</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span><a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#prec"><span class="id" title="variable">prec</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#a3448b794f7a26d611ad36492b5d640b"><span class="id" title="notation">+</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>))%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_bpow_inv'"><span class="id" title="lemma">generic_format_bpow_inv'</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#a3448b794f7a26d611ad36492b5d640b"><span class="id" title="notation">+</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_bpow_inv"><span class="id" title="lemma">generic_format_bpow_inv</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic.Format.Fcore_generic_round_pos"><span class="id" title="section">Fcore_generic_round_pos</span></a>.<br/>

<br/>
</div>

<div class="doc">
Rounding functions: R -&gt; Z 
</div>
<div class="code">

<br/>
<span class="id" title="keyword">Variable</span> <a name="Generic.Format.Fcore_generic_round_pos.rnd"><span class="id" title="variable">rnd</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>.<br/>

<br/>
<span class="id" title="keyword">Class</span> <a name="Valid_rnd"><span class="id" title="record">Valid_rnd</span></a> := {<br/>
&nbsp;&nbsp;<a name="Zrnd_le"><span class="id" title="projection">Zrnd_le</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="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Fcore_generic_round_pos.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Fcore_generic_round_pos.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">Z</span> ;<br/>
&nbsp;&nbsp;<a name="Zrnd_Z2R"><span class="id" title="projection">Zrnd_Z2R</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">n</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Fcore_generic_round_pos.rnd"><span class="id" title="variable">rnd</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#n"><span class="id" title="variable">n</span></a><br/>
}.<br/>

<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">valid_rnd</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> }.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="Zrnd_DN_or_UP"><span class="id" title="lemma">Zrnd_DN_or_UP</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Fcore_generic_round_pos.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Fcore_generic_round_pos.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="Zrnd_ZR_or_AW"><span class="id" title="lemma">Zrnd_ZR_or_AW</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Fcore_generic_round_pos.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Fcore_generic_round_pos.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zaway"><span class="id" title="definition">Zaway</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
</div>

<div class="doc">
the most useful one: R -&gt; F 
</div>
<div class="code">
<span class="id" title="keyword">Definition</span> <a name="round"><span class="id" title="definition">round</span></a> <span class="id" title="var">x</span> :=<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Fcore_generic_round_pos.rnd"><span class="id" title="variable">rnd</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)) (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_le_pos"><span class="id" title="lemma">round_le_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, (0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_generic"><span class="id" title="lemma">round_generic</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_0"><span class="id" title="lemma">round_0</span></a> :<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R0"><span class="id" title="axiom">R0</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_bounded_large_pos"><span class="id" title="lemma">round_bounded_large_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#273beba4f3453dbb29192b3ac740bb71"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#777fa820f32591f17d50731841113fa3"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#777fa820f32591f17d50731841113fa3"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_bounded_small_pos"><span class="id" title="lemma">round_bounded_small_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R0"><span class="id" title="axiom">R0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="exp_small_round_0_pos"><span class="id" title="lemma">exp_small_round_0_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R0"><span class="id" title="axiom">R0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> .<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_round_pos"><span class="id" title="lemma">generic_format_round_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Fcore_generic_round_pos"><span class="id" title="section">Fcore_generic_round_pos</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_ext"><span class="id" title="lemma">round_ext</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">rnd1</span> <span class="id" title="var">rnd2</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd1"><span class="id" title="variable">rnd1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd2"><span class="id" title="variable">rnd2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd1"><span class="id" title="variable">rnd1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd2"><span class="id" title="variable">rnd2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic.Format.Zround_opp"><span class="id" title="section">Zround_opp</span></a>.<br/>

<br/>
<span class="id" title="keyword">Variable</span> <a name="Generic.Format.Zround_opp.rnd"><span class="id" title="variable">rnd</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>.<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">valid_rnd</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Zround_opp.rnd"><span class="id" title="variable">rnd</span></a> }.<br/>

<br/>
<span class="id" title="keyword">Definition</span> <a name="Zrnd_opp"><span class="id" title="definition">Zrnd_opp</span></a> <span class="id" title="var">x</span> := <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#Zopp"><span class="id" title="abbreviation">Zopp</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Zround_opp.rnd"><span class="id" title="variable">rnd</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)).<br/>

<br/>
<span class="id" title="keyword">Global Instance</span> <a name="valid_rnd_opp"><span class="id" title="instance">valid_rnd_opp</span></a> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Zrnd_opp"><span class="id" title="definition">Zrnd_opp</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_opp"><span class="id" title="lemma">round_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Zround_opp.rnd"><span class="id" title="variable">rnd</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#Ropp"><span class="id" title="axiom">Ropp</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Zrnd_opp"><span class="id" title="definition">Zrnd_opp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Zround_opp"><span class="id" title="section">Zround_opp</span></a>.<br/>

<br/>
</div>

<div class="doc">
IEEE-754 roundings: up, down and to zero 
</div>
<div class="code">

<br/>
<span class="id" title="keyword">Global Instance</span> <a name="valid_rnd_DN"><span class="id" title="instance">valid_rnd_DN</span></a> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a>.<br/>

<br/>
<span class="id" title="keyword">Global Instance</span> <a name="valid_rnd_UP"><span class="id" title="instance">valid_rnd_UP</span></a> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a>.<br/>

<br/>
<span class="id" title="keyword">Global Instance</span> <a name="valid_rnd_ZR"><span class="id" title="instance">valid_rnd_ZR</span></a> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a>.<br/>

<br/>
<span class="id" title="keyword">Global Instance</span> <a name="valid_rnd_AW"><span class="id" title="instance">valid_rnd_AW</span></a> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zaway"><span class="id" title="definition">Zaway</span></a>.<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic.Format.monotone"><span class="id" title="section">monotone</span></a>.<br/>

<br/>
<span class="id" title="keyword">Variable</span> <a name="Generic.Format.monotone.rnd"><span class="id" title="variable">rnd</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>.<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">valid_rnd</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone.rnd"><span class="id" title="variable">rnd</span></a> }.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_DN_or_UP"><span class="id" title="lemma">round_DN_or_UP</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_ZR_or_AW"><span class="id" title="lemma">round_ZR_or_AW</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zaway"><span class="id" title="definition">Zaway</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_le"><span class="id" title="lemma">round_le</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_ge_generic"><span class="id" title="lemma">round_ge_generic</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_le_generic"><span class="id" title="lemma">round_le_generic</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone"><span class="id" title="section">monotone</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_abs_abs"><span class="id" title="lemma">round_abs_abs</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">Prop</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">rnd</span> (<span class="id" title="var">Hr</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a>) <span class="id" title="var">x</span>, (0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">rnd</span> {<span class="id" title="var">Hr</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a>} <span class="id" title="var">x</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_bounded_large"><span class="id" title="lemma">round_bounded_large</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">rnd</span> {<span class="id" title="var">Hr</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a>} <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#273beba4f3453dbb29192b3ac740bb71"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#777fa820f32591f17d50731841113fa3"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#777fa820f32591f17d50731841113fa3"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="exp_small_round_0"><span class="id" title="lemma">exp_small_round_0</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">rnd</span> {<span class="id" title="var">Hr</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a>} <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R0"><span class="id" title="axiom">R0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> .<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic.Format.monotone_abs"><span class="id" title="section">monotone_abs</span></a>.<br/>

<br/>
<span class="id" title="keyword">Variable</span> <a name="Generic.Format.monotone_abs.rnd"><span class="id" title="variable">rnd</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>.<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">valid_rnd</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone_abs.rnd"><span class="id" title="variable">rnd</span></a> }.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="abs_round_ge_generic"><span class="id" title="lemma">abs_round_ge_generic</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone_abs.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>))%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="abs_round_le_generic"><span class="id" title="lemma">abs_round_le_generic</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone_abs.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone_abs"><span class="id" title="section">monotone_abs</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_DN_opp"><span class="id" title="lemma">round_DN_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_UP_opp"><span class="id" title="lemma">round_UP_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_ZR_opp"><span class="id" title="lemma">round_ZR_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#Ropp"><span class="id" title="axiom">Ropp</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_ZR_abs"><span class="id" title="lemma">round_ZR_abs</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_AW_opp"><span class="id" title="lemma">round_AW_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zaway"><span class="id" title="definition">Zaway</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#Ropp"><span class="id" title="axiom">Ropp</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zaway"><span class="id" title="definition">Zaway</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_AW_abs"><span class="id" title="lemma">round_AW_abs</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zaway"><span class="id" title="definition">Zaway</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zaway"><span class="id" title="definition">Zaway</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_ZR_pos"><span class="id" title="lemma">round_ZR_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_ZR_neg"><span class="id" title="lemma">round_ZR_neg</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_AW_pos"><span class="id" title="lemma">round_AW_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zaway"><span class="id" title="definition">Zaway</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_AW_neg"><span class="id" title="lemma">round_AW_neg</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zaway"><span class="id" title="definition">Zaway</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_round"><span class="id" title="lemma">generic_format_round</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">rnd</span> { <span class="id" title="var">Hr</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a> } <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_DN_pt"><span class="id" title="lemma">round_DN_pt</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_defs.html#Rnd_DN_pt"><span class="id" title="definition">Rnd_DN_pt</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_satisfies_any"><span class="id" title="lemma">generic_format_satisfies_any</span></a> :<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_rnd.html#satisfies_any"><span class="id" title="inductive">satisfies_any</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_UP_pt"><span class="id" title="lemma">round_UP_pt</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_defs.html#Rnd_UP_pt"><span class="id" title="definition">Rnd_UP_pt</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_ZR_pt"><span class="id" title="lemma">round_ZR_pt</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_defs.html#Rnd_ZR_pt"><span class="id" title="definition">Rnd_ZR_pt</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_DN_small_pos"><span class="id" title="lemma">round_DN_small_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R0"><span class="id" title="axiom">R0</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_DN_UP_lt"><span class="id" title="lemma">round_DN_UP_lt</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#611abc97cba304de784fa909dbdea1fa"><span class="id" title="notation">¬</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#7c35b2a93856d788d8a50a85631cf07a"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#7c35b2a93856d788d8a50a85631cf07a"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_UP_small_pos"><span class="id" title="lemma">round_UP_small_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_format_EM"><span class="id" title="lemma">generic_format_EM</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#611abc97cba304de784fa909dbdea1fa"><span class="id" title="notation">¬</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic.Format.round_large"><span class="id" title="section">round_large</span></a>.<br/>

<br/>
<span class="id" title="keyword">Variable</span> <a name="Generic.Format.round_large.rnd"><span class="id" title="variable">rnd</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>.<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">valid_rnd</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.round_large.rnd"><span class="id" title="variable">rnd</span></a> }.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_large_pos_ge_pow"><span class="id" title="lemma">round_large_pos_ge_pow</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">e</span>,<br/>
&nbsp;&nbsp;(0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.round_large.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.round_large.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.round_large"><span class="id" title="section">round_large</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="ln_beta_round_ZR"><span class="id" title="lemma">ln_beta_round_ZR</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a><a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="ln_beta_round"><span class="id" title="lemma">ln_beta_round</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">rnd</span> {<span class="id" title="var">Hrnd</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a>} <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">(</span></a><a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a><a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#Zmax"><span class="id" title="abbreviation">Zmax</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>))).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="ln_beta_DN"><span class="id" title="lemma">ln_beta_DN</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a><a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="canonic_exp_DN"><span class="id" title="lemma">canonic_exp_DN</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="scaled_mantissa_DN"><span class="id" title="lemma">scaled_mantissa_DN</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(0 <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_N_pt_DN_or_UP"><span class="id" title="lemma">generic_N_pt_DN_or_UP</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">f</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_defs.html#Rnd_N_pt"><span class="id" title="definition">Rnd_N_pt</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic.Format.not_FTZ"><span class="id" title="section">not_FTZ</span></a>.<br/>

<br/>
<span class="id" title="keyword">Class</span> <a name="Exp_not_FTZ"><span class="id" title="record">Exp_not_FTZ</span></a> :=<br/>
&nbsp;&nbsp;<a name="exp_not_FTZ"><span class="id" title="projection">exp_not_FTZ</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#a3448b794f7a26d611ad36492b5d640b"><span class="id" title="notation">+</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">exp_not_FTZ_</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Exp_not_FTZ"><span class="id" title="class">Exp_not_FTZ</span></a> }.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="subnormal_exponent"><span class="id" title="lemma">subnormal_exponent</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">e</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_defs.html#F2R"><span class="id" title="definition">F2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_defs.html#Float"><span class="id" title="constructor">Float</span></a> <span class="id" title="keyword">beta</span> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#361afbb9b173fae6251865f2da226003"><span class="id" title="notation">×</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>))) (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)).<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.not_FTZ"><span class="id" title="section">not_FTZ</span></a>.<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic.Format.monotone_exp"><span class="id" title="section">monotone_exp</span></a>.<br/>

<br/>
<span class="id" title="keyword">Class</span> <a name="Monotone_exp"><span class="id" title="record">Monotone_exp</span></a> :=<br/>
&nbsp;&nbsp;<a name="monotone_exp"><span class="id" title="projection">monotone_exp</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">ex</span> <span class="id" title="var">ey</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ey"><span class="id" title="variable">ey</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ey"><span class="id" title="variable">ey</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">monotone_exp_</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Monotone_exp"><span class="id" title="class">Monotone_exp</span></a> }.<br/>

<br/>
<span class="id" title="keyword">Global Instance</span> <a name="monotone_exp_not_FTZ"><span class="id" title="instance">monotone_exp_not_FTZ</span></a> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Exp_not_FTZ"><span class="id" title="class">Exp_not_FTZ</span></a>.<br/>

<br/>
<span class="id" title="keyword">Lemma</span> <a name="canonic_exp_le_bpow"><span class="id" title="lemma">canonic_exp_le_bpow</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> (<span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a>) (<span class="id" title="var">e</span> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>),<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R0"><span class="id" title="axiom">R0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Lemma</span> <a name="canonic_exp_ge_bpow"><span class="id" title="lemma">canonic_exp_ge_bpow</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> (<span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a>) (<span class="id" title="var">e</span> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>),<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Variable</span> <a name="Generic.Format.monotone_exp.rnd"><span class="id" title="variable">rnd</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>.<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">valid_rnd</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone_exp.rnd"><span class="id" title="variable">rnd</span></a> }.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="ln_beta_round_ge"><span class="id" title="lemma">ln_beta_round_ge</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone_exp.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R0"><span class="id" title="axiom">R0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone_exp.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>))%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="canonic_exp_round_ge"><span class="id" title="lemma">canonic_exp_round_ge</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone_exp.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R0"><span class="id" title="axiom">R0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#canonic_exp"><span class="id" title="definition">canonic_exp</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone_exp.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>))%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.monotone_exp"><span class="id" title="section">monotone_exp</span></a>.<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic.Format.Znearest"><span class="id" title="section">Znearest</span></a>.<br/>

<br/>
</div>

<div class="doc">
Roundings to nearest: when in the middle, use the choice function 
</div>
<div class="code">
<span class="id" title="keyword">Variable</span> <a name="Generic.Format.Znearest.choice"><span class="id" title="variable">choice</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a>.<br/>

<br/>
<span class="id" title="keyword">Definition</span> <a name="Znearest"><span class="id" title="definition">Znearest</span></a> <span class="id" title="var">x</span> :=<br/>
&nbsp;&nbsp;<span class="id" title="keyword">match</span> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Rcompare"><span class="id" title="definition">Rcompare</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)) (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#2f596a539cf733f1c05f7537bd65e225"><span class="id" title="notation">/</span></a>2) <span class="id" title="keyword">with</span><br/>
&nbsp;&nbsp;| <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Datatypes.html#Lt"><span class="id" title="constructor">Lt</span></a> ⇒ <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a><br/>
&nbsp;&nbsp;| <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Datatypes.html#Eq"><span class="id" title="constructor">Eq</span></a> ⇒ <span class="id" title="keyword">if</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Znearest.choice"><span class="id" title="variable">choice</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <span class="id" title="keyword">then</span> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <span class="id" title="keyword">else</span> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a><br/>
&nbsp;&nbsp;| <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Datatypes.html#Gt"><span class="id" title="constructor">Gt</span></a> ⇒ <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a><br/>
&nbsp;&nbsp;<span class="id" title="keyword">end</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="Znearest_DN_or_UP"><span class="id" title="lemma">Znearest_DN_or_UP</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="Znearest_ge_floor"><span class="id" title="lemma">Znearest_ge_floor</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="Znearest_le_ceil"><span class="id" title="lemma">Znearest_le_ceil</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Global Instance</span> <a name="valid_rnd_N"><span class="id" title="instance">valid_rnd_N</span></a> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="Rcompare_floor_ceil_mid"><span class="id" title="lemma">Rcompare_floor_ceil_mid</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_Raux.html#Rcompare"><span class="id" title="definition">Rcompare</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)) (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#2f596a539cf733f1c05f7537bd65e225"><span class="id" title="notation">/</span></a> 2) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Rcompare"><span class="id" title="definition">Rcompare</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)) (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="Rcompare_ceil_floor_mid"><span class="id" title="lemma">Rcompare_ceil_floor_mid</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_Raux.html#Rcompare"><span class="id" title="definition">Rcompare</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#2f596a539cf733f1c05f7537bd65e225"><span class="id" title="notation">/</span></a> 2) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Rcompare"><span class="id" title="definition">Rcompare</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="Znearest_N_strict"><span class="id" title="lemma">Znearest_N_strict</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#2f596a539cf733f1c05f7537bd65e225"><span class="id" title="notation">/</span></a>2)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#2f596a539cf733f1c05f7537bd65e225"><span class="id" title="notation">/</span></a>2)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="Znearest_N"><span class="id" title="lemma">Znearest_N</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#2f596a539cf733f1c05f7537bd65e225"><span class="id" title="notation">/</span></a>2)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="Znearest_imp"><span class="id" title="lemma">Znearest_imp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">n</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Z2R"><span class="id" title="definition">Z2R</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#1cc22ba6849531267d3b25ca7b262449"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#2f596a539cf733f1c05f7537bd65e225"><span class="id" title="notation">/</span></a>2)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#n"><span class="id" title="variable">n</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_N_pt"><span class="id" title="lemma">round_N_pt</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_defs.html#Rnd_N_pt"><span class="id" title="definition">Rnd_N_pt</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_N_middle"><span class="id" title="lemma">round_N_middle</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0f8d5ec6876eafaec2dca3581c24e3a0"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <span class="id" title="keyword">if</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Znearest.choice"><span class="id" title="variable">choice</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#scaled_mantissa"><span class="id" title="definition">scaled_mantissa</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)) <span class="id" title="keyword">then</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <span class="id" title="keyword">else</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Lemma</span> <a name="round_N_really_small_pos"><span class="id" title="lemma">round_N_really_small_pos</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">ex</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_Raux.html#bpow"><span class="id" title="definition">Fcore_Raux.bpow</span></a> <span class="id" title="keyword">beta</span> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_Raux.html#bpow"><span class="id" title="definition">Fcore_Raux.bpow</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#273beba4f3453dbb29192b3ac740bb71"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ex"><span class="id" title="variable">ex</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.Znearest"><span class="id" title="section">Znearest</span></a>.<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic.Format.rndNA"><span class="id" title="section">rndNA</span></a>.<br/>

<br/>
<span class="id" title="keyword">Global Instance</span> <a name="valid_rnd_NA"><span class="id" title="instance">valid_rnd_NA</span></a> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.Zbool.html#Zle_bool"><span class="id" title="abbreviation">Zle_bool</span></a> 0)) := <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#valid_rnd_N"><span class="id" title="instance">valid_rnd_N</span></a> <span class="id" title="var">_</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_NA_pt"><span class="id" title="lemma">round_NA_pt</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_defs.html#Rnd_NA_pt"><span class="id" title="definition">Rnd_NA_pt</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.Zbool.html#Zle_bool"><span class="id" title="abbreviation">Zle_bool</span></a> 0)) <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.rndNA"><span class="id" title="section">rndNA</span></a>.<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="Generic.Format.rndN_opp"><span class="id" title="section">rndN_opp</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="Znearest_opp"><span class="id" title="lemma">Znearest_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">choice</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#choice"><span class="id" title="variable">choice</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">t</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Datatypes.html#negb"><span class="id" title="definition">negb</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#choice"><span class="id" title="variable">choice</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">-</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">(</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#a3448b794f7a26d611ad36492b5d640b"><span class="id" title="notation">+</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">Z</span>)) <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">Z</span>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="round_N_opp"><span class="id" title="lemma">round_N_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">choice</span>,<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#choice"><span class="id" title="variable">choice</span></a>) (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">t</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Datatypes.html#negb"><span class="id" title="definition">negb</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#choice"><span class="id" title="variable">choice</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">-</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">(</span></a><a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#a3448b794f7a26d611ad36492b5d640b"><span class="id" title="notation">+</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#0a3978eabdacce0a128118074de19651"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">Z</span>))) <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format.rndN_opp"><span class="id" title="section">rndN_opp</span></a>.<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Format"><span class="id" title="section">Format</span></a>.<br/>

<br/>
</div>

<div class="doc">
Inclusion of a format into an extended format 
</div>
<div class="code">
<span class="id" title="keyword">Section</span> <a name="Generic.Inclusion"><span class="id" title="section">Inclusion</span></a>.<br/>

<br/>
<span class="id" title="keyword">Variables</span> <a name="Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a name="Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>.<br/>

<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">valid_exp1</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_exp"><span class="id" title="class">Valid_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> }.<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">valid_exp2</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_exp"><span class="id" title="class">Valid_exp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> }.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_inclusion_ln_beta"><span class="id" title="lemma">generic_inclusion_ln_beta</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R0"><span class="id" title="axiom">R0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> (<a class="idref" href="Flocq.Core.Fcore_Raux.html#ln_beta"><span class="id" title="definition">ln_beta</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>))%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_inclusion_lt_ge"><span class="id" title="lemma">generic_inclusion_lt_ge</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">e1</span> <span class="id" title="var">e2</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e1"><span class="id" title="variable">e1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#4364dd9165ec3e6a654ce1663a216dfb"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#4364dd9165ec3e6a654ce1663a216dfb"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e2"><span class="id" title="variable">e2</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e1"><span class="id" title="variable">e1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#ed7870e49208be293c8dbcf28a708f81"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e2"><span class="id" title="variable">e2</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_inclusion"><span class="id" title="lemma">generic_inclusion</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#239a40728d107295b3cb2c790f57f9e9"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#777fa820f32591f17d50731841113fa3"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#777fa820f32591f17d50731841113fa3"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_inclusion_le_ge"><span class="id" title="lemma">generic_inclusion_le_ge</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">e1</span> <span class="id" title="var">e2</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e1"><span class="id" title="variable">e1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#273beba4f3453dbb29192b3ac740bb71"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e2"><span class="id" title="variable">e2</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e1"><span class="id" title="variable">e1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#4364dd9165ec3e6a654ce1663a216dfb"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#4364dd9165ec3e6a654ce1663a216dfb"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e2"><span class="id" title="variable">e2</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e1"><span class="id" title="variable">e1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#777fa820f32591f17d50731841113fa3"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#777fa820f32591f17d50731841113fa3"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e2"><span class="id" title="variable">e2</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_inclusion_le"><span class="id" title="lemma">generic_inclusion_le</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">e2</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e2"><span class="id" title="variable">e2</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e2"><span class="id" title="variable">e2</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_inclusion_ge"><span class="id" title="lemma">generic_inclusion_ge</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">e1</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>, (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e1"><span class="id" title="variable">e1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#273beba4f3453dbb29192b3ac740bb71"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.BinInt.html#208bafb0e148fe7fb7dcd812c227f4ee"><span class="id" title="notation">≤</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e"><span class="id" title="variable">e</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#bpow"><span class="id" title="abbreviation">bpow</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#e1"><span class="id" title="variable">e1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#39ab57f76c1eb2e6d107f9799a31545a"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rbasic_fun.html#Rabs"><span class="id" title="definition">Rabs</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>.<br/>

<br/>
<span class="id" title="keyword">Variable</span> <a name="Generic.Inclusion.rnd"><span class="id" title="variable">rnd</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#R"><span class="id" title="axiom">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>.<br/>
<span class="id" title="keyword">Context</span> { <span class="id" title="var">valid_rnd</span> : <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Valid_rnd"><span class="id" title="class">Valid_rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.rnd"><span class="id" title="variable">rnd</span></a> }.<br/>

<br/>
<span class="id" title="keyword">Theorem</span> <a name="generic_round_generic"><span class="id" title="lemma">generic_round_generic</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#generic_format"><span class="id" title="definition">generic_format</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp1"><span class="id" title="variable">fexp1</span></a> (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.fexp2"><span class="id" title="variable">fexp2</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion.rnd"><span class="id" title="variable">rnd</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>).<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic.Inclusion"><span class="id" title="section">Inclusion</span></a>.<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Generic"><span class="id" title="section">Generic</span></a>.<br/>

<br/>
<span class="id" title="keyword">Notation</span> <a name="ZnearestA"><span class="id" title="abbreviation">ZnearestA</span></a> := (<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#Znearest"><span class="id" title="definition">Znearest</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.ZArith.Zbool.html#Zle_bool"><span class="id" title="abbreviation">Zle_bool</span></a> 0)).<br/>

<br/>
<span class="id" title="keyword">Section</span> <a name="rndNA_opp"><span class="id" title="section">rndNA_opp</span></a>.<br/>

<br/>
<span class="id" title="keyword">Lemma</span> <a name="round_NA_opp"><span class="id" title="lemma">round_NA_opp</span></a> :<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="keyword">beta</span> : <a class="idref" href="Flocq.Core.Fcore_Zaux.html#radix"><span class="id" title="record">radix</span></a>,<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> (<span class="id" title="var">fexp</span> : <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Numbers.BinNums.html#Z"><span class="id" title="inductive">Z</span></a>),<br/>
&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
&nbsp;&nbsp;(<a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ZnearestA"><span class="id" title="abbreviation">ZnearestA</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/current/stdlib/Coq.Reals.Rdefinitions.html#0575b33c544988081e4e30ee15f09d84"><span class="id" title="notation">-</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#round"><span class="id" title="definition">round</span></a> <span class="id" title="keyword">beta</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#fexp"><span class="id" title="variable">fexp</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ZnearestA"><span class="id" title="abbreviation">ZnearestA</span></a> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">R</span>.<br/>

<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#rndNA_opp"><span class="id" title="section">rndNA_opp</span></a>.<br/>

<br/>
</div>

<div class="doc">
Notations for backward-compatibility with Flocq 1.4. 
</div>
<div class="code">
<span class="id" title="keyword">Notation</span> <a name="rndDN"><span class="id" title="abbreviation">rndDN</span></a> := <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zfloor"><span class="id" title="definition">Zfloor</span></a> (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/>
<span class="id" title="keyword">Notation</span> <a name="rndUP"><span class="id" title="abbreviation">rndUP</span></a> := <a class="idref" href="Flocq.Core.Fcore_Raux.html#Zceil"><span class="id" title="definition">Zceil</span></a> (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/>
<span class="id" title="keyword">Notation</span> <a name="rndZR"><span class="id" title="abbreviation">rndZR</span></a> := <a class="idref" href="Flocq.Core.Fcore_Raux.html#Ztrunc"><span class="id" title="definition">Ztrunc</span></a> (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/>
<span class="id" title="keyword">Notation</span> <a name="rndNA"><span class="id" title="abbreviation">rndNA</span></a> := <a class="idref" href="Flocq.Core.Fcore_generic_fmt.html#ZnearestA"><span class="id" title="abbreviation">ZnearestA</span></a> (<span class="id" title="var">only</span> <span class="id" title="var">parsing</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>