aboutsummaryrefslogtreecommitdiff
path: root/docs/htmldoc/mathcomp.ssreflect.bigop.html
diff options
context:
space:
mode:
authorEnrico Tassi2018-04-20 10:54:22 +0200
committerEnrico Tassi2018-04-20 10:54:22 +0200
commited05182cece6bb3706e09b2ce14af4a41a2e8141 (patch)
treee850d7314b6372d0476cf2ffaf7d3830721db7b1 /docs/htmldoc/mathcomp.ssreflect.bigop.html
parent3d196f44681fb3b23ff8a79fbd44e12308680531 (diff)
generate the documentation for 1.7
Diffstat (limited to 'docs/htmldoc/mathcomp.ssreflect.bigop.html')
-rw-r--r--docs/htmldoc/mathcomp.ssreflect.bigop.html1632
1 files changed, 1632 insertions, 0 deletions
diff --git a/docs/htmldoc/mathcomp.ssreflect.bigop.html b/docs/htmldoc/mathcomp.ssreflect.bigop.html
new file mode 100644
index 0000000..dce0b01
--- /dev/null
+++ b/docs/htmldoc/mathcomp.ssreflect.bigop.html
@@ -0,0 +1,1632 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<link href="coqdoc.css" rel="stylesheet" type="text/css" />
+<title>mathcomp.ssreflect.bigop</title>
+</head>
+
+<body>
+
+<div id="page">
+
+<div id="header">
+</div>
+
+<div id="main">
+
+<h1 class="libtitle">Library mathcomp.ssreflect.bigop</h1>
+
+<div class="code">
+<span class="comment">(*&nbsp;(c)&nbsp;Copyright&nbsp;2006-2016&nbsp;Microsoft&nbsp;Corporation&nbsp;and&nbsp;Inria.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>
+&nbsp;Distributed&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;CeCILL-B.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)</span><br/>
+<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="mathcomp.ssreflect.ssreflect.html#"><span class="id" title="library">mathcomp.ssreflect.ssreflect</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ This file provides a generic definition for iterating an operator over a
+ set of indices (bigop); this big operator is parametrized by the return
+ type (R), the type of indices (I), the operator (op), the default value on
+ empty lists (idx), the range of indices (r), the filter applied on this
+ range (P) and the expression we are iterating (F). The definition is not
+ to be used directly, but via the wide range of notations provided and
+ and which support a natural use of big operators.
+ To improve performance of the Coq typechecker on large expressions, the
+ bigop constant is OPAQUE. It can however be unlocked to reveal the
+ transparent constant reducebig, to let Coq expand summation on an explicit
+ sequence with an explicit test.
+ The lemmas can be classified according to the operator being iterated:
+ 1. Results independent of the operator: extensionality with respect to
+ the range of indices, to the filtering predicate or to the expression
+ being iterated; reindexing, widening or narrowing of the range of
+ indices; we provide lemmas for the special cases where indices are
+ natural numbers or bounded natural numbers ("ordinals"). We supply
+ several "functional" induction principles that can be used with the
+ ssreflect 1.3 "elim" tactic to do induction over the index range for
+ up to 3 bigops simultaneously.
+ 2. Results depending on the properties of the operator:
+ We distinguish: monoid laws (op is associative, idx is an identity
+ element), abelian monoid laws (op is also commutative), and laws with
+ a distributive operation (semi-rings). Examples of such results are
+ splitting, permuting, and exchanging bigops.
+ A special section is dedicated to big operators on natural numbers.
+<div class="paragraph"> </div>
+
+ Notations:
+ The general form for iterated operators is
+ &lt;bigop&gt;_&lt;range&gt; &lt;general_term&gt;
+<ul class="doclist">
+<li> &lt;bigop&gt; is one of \big[op/idx], \sum, \prod, or \max (see below).
+
+</li>
+<li> &lt;general_term&gt; can be any expression.
+
+</li>
+<li> &lt;range&gt; binds an index variable in &lt;general_term&gt;; &lt;range&gt; is one of
+ (i &lt;- s) i ranges over the sequence s.
+ (m &lt;= i &lt; n) i ranges over the nat interval m, m+1, ..., n-1.
+ (i &lt; n) i ranges over the (finite) type 'I_n (i.e., ordinal n).
+ (i : T) i ranges over the finite type T.
+ i or (i) i ranges over its (inferred) finite type.
+ (i in A) i ranges over the elements that satisfy the collective
+ predicate A (the domain of A must be a finite type).
+ (i &lt;- s | &lt;condition&gt;) limits the range to the i for which &lt;condition&gt;
+ holds. &lt;condition&gt; can be any expression that coerces to
+ bool, and may mention the bound index i. All six kinds of
+ ranges above can have a &lt;condition&gt; part.
+
+</li>
+<li> One can use the "\big[op/idx]" notations for any operator.
+
+</li>
+<li> BIG_F and BIG_P are pattern abbreviations for the &lt;general_term&gt; and
+ &lt;condition&gt; part of a \big ... expression; for (i in A) and (i in A | C)
+ ranges the term matched by BIG_P will include the i \in A condition.
+
+</li>
+<li> The (locked) head constant of a \big notation is bigop.
+
+</li>
+<li> The "\sum", "\prod" and "\max" notations in the %N scope are used for
+ natural numbers with addition, multiplication and maximum (and their
+ corresponding neutral elements), respectively.
+
+</li>
+<li> The "\sum" and "\prod" reserved notations are overloaded in ssralg in
+ the %R scope; in mxalgebra, vector &amp; falgebra in the %MS and %VS scopes;
+ "\prod" is also overloaded in fingroup, in the %g and %G scopes.
+
+</li>
+<li> We reserve "\bigcup" and "\bigcap" notations for iterated union and
+ intersection (of sets, groups, vector spaces, etc).
+</li>
+</ul>
+
+<div class="paragraph"> </div>
+
+ Tips for using lemmas in this file:
+ To apply a lemma for a specific operator: if no special property is
+ required for the operator, simply apply the lemma; if the lemma needs
+ certain properties for the operator, make sure the appropriate Canonical
+ instances are declared.
+<div class="paragraph"> </div>
+
+ Interfaces for operator properties are packaged in the Monoid submodule:
+ Monoid.law idx == interface (keyed on the operator) for associative
+ operators with identity element idx.
+ Monoid.com_law idx == extension (telescope) of Monoid.law for operators
+ that are also commutative.
+ Monoid.mul_law abz == interface for operators with absorbing (zero)
+ element abz.
+ Monoid.add_law idx mop == extension of Monoid.com_law for operators over
+ which operation mop distributes (mop will often also
+ have a Monoid.mul_law idx structure).
+ [law of op], [com_law of op], [mul_law of op], [add_law mop of op] ==
+ syntax for cloning Monoid structures.
+ Monoid.Theory == submodule containing basic generic algebra lemmas
+ for operators satisfying the Monoid interfaces.
+ Monoid.simpm == generic monoid simplification rewrite multirule.
+ Monoid structures are predeclared for many basic operators: (_ &amp;&amp; _)%B,
+ (_ || _)%B, (_ (+) _)%B (exclusive or) , (_ + _)%N, (_ * _)%N, maxn,
+ gcdn, lcmn and (_ ++ _)%SEQ (list concatenation).
+<div class="paragraph"> </div>
+
+ Additional documentation for this file:
+ Y. Bertot, G. Gonthier, S. Ould Biha and I. Pasca.
+ Canonical Big Operators. In TPHOLs 2008, LNCS vol. 5170, Springer.
+ Article available at:
+ http://hal.inria.fr/docs/00/33/11/93/PDF/main.pdf
+<div class="paragraph"> </div>
+
+ Examples of use in: poly.v, matrix.v
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Set Implicit Arguments</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ i F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="tactic">right</span> <span class="id" title="keyword">associativity</span>,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ i '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ ( i &lt;- r | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ ( i &lt;- r | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ ( i &lt;- r ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ ( i &lt;- r ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ ( m &lt;= i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">m</span>, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ ( m &lt;= i &lt; n | P ) F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ ( m &lt;= i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">i</span>, <span class="id" title="var">m</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ ( m &lt;= i &lt; n ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ ( i | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ ( i | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ ( i : t | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ ( i : t | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ ( i : t ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ ( i : t ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ ( i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ ( i &lt; n | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ ( i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ ( i &lt; n ) F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ ( i 'in' A | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ ( i 'in' A | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\big [ op / idx ]_ ( i 'in' A ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">op</span>, <span class="id" title="var">idx</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \big [ op / idx ]_ ( i 'in' A ) '/ ' F ']'").<br/>
+
+<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ i F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="tactic">right</span> <span class="id" title="keyword">associativity</span>,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \sum_ i '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ ( i &lt;- r | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \sum_ ( i &lt;- r | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ ( i &lt;- r ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \sum_ ( i &lt;- r ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ ( m &lt;= i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">m</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \sum_ ( m &lt;= i &lt; n | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ ( m &lt;= i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">m</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \sum_ ( m &lt;= i &lt; n ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ ( i | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \sum_ ( i | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ ( i : t | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ ( i : t ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ ( i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \sum_ ( i &lt; n | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ ( i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \sum_ ( i &lt; n ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ ( i 'in' A | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \sum_ ( i 'in' A | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\sum_ ( i 'in' A ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \sum_ ( i 'in' A ) '/ ' F ']'").<br/>
+
+<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ i F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \max_ i '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ ( i &lt;- r | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \max_ ( i &lt;- r | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ ( i &lt;- r ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \max_ ( i &lt;- r ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ ( m &lt;= i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">m</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \max_ ( m &lt;= i &lt; n | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ ( m &lt;= i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">m</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \max_ ( m &lt;= i &lt; n ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ ( i | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \max_ ( i | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ ( i : t | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ ( i : t ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ ( i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \max_ ( i &lt; n | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ ( i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \max_ ( i &lt; n ) F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ ( i 'in' A | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \max_ ( i 'in' A | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\max_ ( i 'in' A ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \max_ ( i 'in' A ) '/ ' F ']'").<br/>
+
+<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ i F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \prod_ i '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ ( i &lt;- r | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \prod_ ( i &lt;- r | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ ( i &lt;- r ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \prod_ ( i &lt;- r ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ ( m &lt;= i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span>, <span class="id" title="var">m</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \prod_ ( m &lt;= i &lt; n | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ ( m &lt;= i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span>, <span class="id" title="var">m</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \prod_ ( m &lt;= i &lt; n ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ ( i | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \prod_ ( i | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ ( i : t | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ ( i : t ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ ( i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \prod_ ( i &lt; n | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ ( i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \prod_ ( i &lt; n ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ ( i 'in' A | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \prod_ ( i 'in' A | P ) F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\prod_ ( i 'in' A ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 36, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \prod_ ( i 'in' A ) '/ ' F ']'").<br/>
+
+<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ i F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ i '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ ( i &lt;- r | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ ( i &lt;- r | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ ( i &lt;- r ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ ( i &lt;- r ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ ( m &lt;= i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">m</span>, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ ( m &lt;= i &lt; n | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ ( m &lt;= i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">m</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ ( m &lt;= i &lt; n ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ ( i | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ ( i | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ ( i : t | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ ( i : t | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ ( i : t ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ ( i : t ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ ( i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ ( i &lt; n | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ ( i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ ( i &lt; n ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ ( i 'in' A | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ ( i 'in' A | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcup_ ( i 'in' A ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcup_ ( i 'in' A ) '/ ' F ']'").<br/>
+
+<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ i F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ i '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ ( i &lt;- r | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ ( i &lt;- r | P ) F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ ( i &lt;- r ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">r</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ ( i &lt;- r ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ ( m &lt;= i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">m</span>, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ ( m &lt;= i &lt; n | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ ( m &lt;= i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">m</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ ( m &lt;= i &lt; n ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ ( i | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ ( i | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ ( i : t | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ ( i : t | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ ( i : t ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ ( i : t ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ ( i &lt; n | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ ( i &lt; n | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ ( i &lt; n ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ ( i &lt; n ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ ( i 'in' A | P ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ ( i 'in' A | P ) '/ ' F ']'").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\bigcap_ ( i 'in' A ) F"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">F</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 41, <span class="id" title="var">i</span>, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[' \bigcap_ ( i 'in' A ) '/ ' F ']'").<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <a name="Monoid"><span class="id" title="module">Monoid</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Monoid.Definitions"><span class="id" title="section">Definitions</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Monoid.Definitions.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="Monoid.Definitions.idm"><span class="id" title="variable">idm</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Structure</span> <a name="Monoid.law"><span class="id" title="record">law</span></a> := <a name="Monoid.Law"><span class="id" title="constructor">Law</span></a> {<br/>
+&nbsp;&nbsp;<a name="Monoid.operator"><span class="id" title="projection">operator</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a>;<br/>
+&nbsp;&nbsp;<span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#operator"><span class="id" title="method">operator</span></a>;<br/>
+&nbsp;&nbsp;<span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#operator"><span class="id" title="method">operator</span></a>;<br/>
+&nbsp;&nbsp;<span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#operator"><span class="id" title="method">operator</span></a><br/>
+}.<br/>
+
+<br/>
+<span class="id" title="keyword">Structure</span> <a name="Monoid.com_law"><span class="id" title="record">com_law</span></a> := <a name="Monoid.ComLaw"><span class="id" title="constructor">ComLaw</span></a> {<br/>
+&nbsp;&nbsp;&nbsp;<a name="Monoid.com_operator"><span class="id" title="projection">com_operator</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.law"><span class="id" title="record">law</span></a>;<br/>
+&nbsp;&nbsp;&nbsp;<span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#com_operator"><span class="id" title="method">com_operator</span></a><br/>
+}.<br/>
+
+<br/>
+<span class="id" title="keyword">Structure</span> <a name="Monoid.mul_law"><span class="id" title="record">mul_law</span></a> := <a name="Monoid.MulLaw"><span class="id" title="constructor">MulLaw</span></a> {<br/>
+&nbsp;&nbsp;<a name="Monoid.mul_operator"><span class="id" title="projection">mul_operator</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a>;<br/>
+&nbsp;&nbsp;<span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_zero"><span class="id" title="definition">left_zero</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#mul_operator"><span class="id" title="method">mul_operator</span></a>;<br/>
+&nbsp;&nbsp;<span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_zero"><span class="id" title="definition">right_zero</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#mul_operator"><span class="id" title="method">mul_operator</span></a><br/>
+}.<br/>
+
+<br/>
+<span class="id" title="keyword">Structure</span> <a name="Monoid.add_law"><span class="id" title="record">add_law</span></a> (<span class="id" title="var">mul</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a>) := <a name="Monoid.AddLaw"><span class="id" title="constructor">AddLaw</span></a> {<br/>
+&nbsp;&nbsp;<a name="Monoid.add_operator"><span class="id" title="projection">add_operator</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_law"><span class="id" title="record">com_law</span></a>;<br/>
+&nbsp;&nbsp;<span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#add_operator"><span class="id" title="method">add_operator</span></a>;<br/>
+&nbsp;&nbsp;<span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#add_operator"><span class="id" title="method">add_operator</span></a><br/>
+}.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="Monoid.Definitions.op_id"><span class="id" title="variable">op_id</span></a> (<span class="id" title="var">op1</span> <span class="id" title="var">op2</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.T"><span class="id" title="variable">T</span></a>) := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#op1"><span class="id" title="variable">op1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#op2"><span class="id" title="variable">op2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Monoid.clone_law"><span class="id" title="definition">clone_law</span></a> <span class="id" title="var">op</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> (<span class="id" title="var">opL</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.law"><span class="id" title="record">law</span></a>) &amp; <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.op_id"><span class="id" title="variable">op_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opL"><span class="id" title="variable">opL</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#op"><span class="id" title="variable">op</span></a> ⇒<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">opmA</span> <span class="id" title="var">op1m</span> <span class="id" title="var">opm1</span> (<span class="id" title="var">opL'</span> := @<a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Law"><span class="id" title="constructor">Law</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#op"><span class="id" title="variable">op</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opmA"><span class="id" title="variable">opmA</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#op1m"><span class="id" title="variable">op1m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opm1"><span class="id" title="variable">opm1</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opL'"><span class="id" title="variable">opL'</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opL"><span class="id" title="variable">opL</span></a> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#opL'"><span class="id" title="variable">opL'</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Monoid.clone_com_law"><span class="id" title="definition">clone_com_law</span></a> <span class="id" title="var">op</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> (<span class="id" title="var">opL</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.law"><span class="id" title="record">law</span></a>) (<span class="id" title="var">opC</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_law"><span class="id" title="record">com_law</span></a>) &amp; <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.op_id"><span class="id" title="variable">op_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opL"><span class="id" title="variable">opL</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#op"><span class="id" title="variable">op</span></a> &amp; <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.op_id"><span class="id" title="variable">op_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opC"><span class="id" title="variable">opC</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#op"><span class="id" title="variable">op</span></a> ⇒<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">opmC</span> (<span class="id" title="var">opC'</span> := @<a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.ComLaw"><span class="id" title="constructor">ComLaw</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opL"><span class="id" title="variable">opL</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opmC"><span class="id" title="variable">opmC</span></a>) &amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opC'"><span class="id" title="variable">opC'</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opC"><span class="id" title="variable">opC</span></a> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#opC'"><span class="id" title="variable">opC'</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Monoid.clone_mul_law"><span class="id" title="definition">clone_mul_law</span></a> <span class="id" title="var">op</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> (<span class="id" title="var">opM</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.mul_law"><span class="id" title="record">mul_law</span></a>) &amp; <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.op_id"><span class="id" title="variable">op_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opM"><span class="id" title="variable">opM</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#op"><span class="id" title="variable">op</span></a> ⇒<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">op0m</span> <span class="id" title="var">opm0</span> (<span class="id" title="var">opM'</span> := @<a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.MulLaw"><span class="id" title="constructor">MulLaw</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#op"><span class="id" title="variable">op</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#op0m"><span class="id" title="variable">op0m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opm0"><span class="id" title="variable">opm0</span></a>) &amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opM'"><span class="id" title="variable">opM'</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opM"><span class="id" title="variable">opM</span></a> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#opM'"><span class="id" title="variable">opM'</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Monoid.clone_add_law"><span class="id" title="definition">clone_add_law</span></a> <span class="id" title="var">mop</span> <span class="id" title="var">aop</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> (<span class="id" title="var">opC</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_law"><span class="id" title="record">com_law</span></a>) (<span class="id" title="var">opA</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.add_law"><span class="id" title="record">add_law</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#mop"><span class="id" title="variable">mop</span></a>) &amp; <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.op_id"><span class="id" title="variable">op_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opC"><span class="id" title="variable">opC</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#aop"><span class="id" title="variable">aop</span></a> &amp; <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions.op_id"><span class="id" title="variable">op_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opA"><span class="id" title="variable">opA</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#aop"><span class="id" title="variable">aop</span></a> ⇒<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">mopDm</span> <span class="id" title="var">mopmD</span> (<span class="id" title="var">opA'</span> := @<a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.AddLaw"><span class="id" title="constructor">AddLaw</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#mop"><span class="id" title="variable">mop</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opC"><span class="id" title="variable">opC</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#mopDm"><span class="id" title="variable">mopDm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#mopmD"><span class="id" title="variable">mopmD</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opA'"><span class="id" title="variable">opA'</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#opA"><span class="id" title="variable">opA</span></a> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#opA'"><span class="id" title="variable">opA'</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Definitions"><span class="id" title="section">Definitions</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Import</span> <a name="Monoid.Exports"><span class="id" title="module">Exports</span></a>.<br/>
+<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.operator"><span class="id" title="projection">operator</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.operator"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.operator"><span class="id" title="projection">law</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.operator"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.operator"><span class="id" title="projection">Funclass</span></a>.<br/>
+<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_operator"><span class="id" title="projection">com_operator</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_operator"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_operator"><span class="id" title="projection">com_law</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_operator"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_operator"><span class="id" title="projection">law</span></a>.<br/>
+<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.mul_operator"><span class="id" title="projection">mul_operator</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.mul_operator"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.mul_operator"><span class="id" title="projection">mul_law</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.mul_operator"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.mul_operator"><span class="id" title="projection">Funclass</span></a>.<br/>
+<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.add_operator"><span class="id" title="projection">add_operator</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.add_operator"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.add_operator"><span class="id" title="projection">add_law</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.add_operator"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.add_operator"><span class="id" title="projection">com_law</span></a>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="63ca36d66d47ad202886c7c65c88c378"><span class="id" title="notation">&quot;</span></a>[ 'law' 'of' f ]" := (@<a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.clone_law"><span class="id" title="definition">clone_law</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span>"[ 'law' 'of' f ]") : <span class="id" title="var">form_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="f01f35dc12f1fe626d93029e6534fbf3"><span class="id" title="notation">&quot;</span></a>[ 'com_law' 'of' f ]" := (@<a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.clone_com_law"><span class="id" title="definition">clone_com_law</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'com_law' 'of' f ]") : <span class="id" title="var">form_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="6a17f9cab4f53335e165dca6c368f81a"><span class="id" title="notation">&quot;</span></a>[ 'mul_law' 'of' f ]" := (@<a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.clone_mul_law"><span class="id" title="definition">clone_mul_law</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span>"[ 'mul_law' 'of' f ]") : <span class="id" title="var">form_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="3759935094ad0adf0adc03d4027e4a9d"><span class="id" title="notation">&quot;</span></a>[ 'add_law' m 'of' a ]" := (@<a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.clone_add_law"><span class="id" title="definition">clone_add_law</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">a</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'add_law' m 'of' a ]") : <span class="id" title="var">form_scope</span>.<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Exports"><span class="id" title="module">Exports</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Monoid.CommutativeAxioms"><span class="id" title="section">CommutativeAxioms</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> (<a name="Monoid.CommutativeAxioms.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="Monoid.CommutativeAxioms.zero"><span class="id" title="variable">zero</span></a> <a name="Monoid.CommutativeAxioms.one"><span class="id" title="variable">one</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a>) (<a name="Monoid.CommutativeAxioms.mul"><span class="id" title="variable">mul</span></a> <a name="Monoid.CommutativeAxioms.add"><span class="id" title="variable">add</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a>) (<a name="Monoid.CommutativeAxioms.inv"><span class="id" title="variable">inv</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a>).<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="Monoid.CommutativeAxioms.mulC"><span class="id" title="variable">mulC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.mul"><span class="id" title="variable">mul</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.mulC_id"><span class="id" title="lemma">mulC_id</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.one"><span class="id" title="variable">one</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.one"><span class="id" title="variable">one</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.mul"><span class="id" title="variable">mul</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.mulC_zero"><span class="id" title="lemma">mulC_zero</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_zero"><span class="id" title="definition">left_zero</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.zero"><span class="id" title="variable">zero</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_zero"><span class="id" title="definition">right_zero</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.zero"><span class="id" title="variable">zero</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.mul"><span class="id" title="variable">mul</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.mulC_dist"><span class="id" title="lemma">mulC_dist</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.add"><span class="id" title="variable">add</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms.add"><span class="id" title="variable">add</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.CommutativeAxioms"><span class="id" title="section">CommutativeAxioms</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <a name="Monoid.Theory"><span class="id" title="module">Theory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Monoid.Theory.Theory"><span class="id" title="section">Theory</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Monoid.Theory.Theory.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Monoid.Theory.Theory.Plain"><span class="id" title="section">Plain</span></a>.<br/>
+<span class="id" title="keyword">Variable</span> <a name="Monoid.Theory.Theory.Plain.mul"><span class="id" title="variable">mul</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.law"><span class="id" title="record">law</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.mul1m"><span class="id" title="lemma">mul1m</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Plain.mul"><span class="id" title="variable">mul</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.mulm1"><span class="id" title="lemma">mulm1</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Plain.mul"><span class="id" title="variable">mul</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.mulmA"><span class="id" title="lemma">mulmA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Plain.mul"><span class="id" title="variable">mul</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.iteropE"><span class="id" title="lemma">iteropE</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iterop"><span class="id" title="definition">iterop</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Plain.mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Plain.mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a>.<br/>
+ <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Plain"><span class="id" title="section">Plain</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Monoid.Theory.Theory.Commutative"><span class="id" title="section">Commutative</span></a>.<br/>
+<span class="id" title="keyword">Variable</span> <a name="Monoid.Theory.Theory.Commutative.mul"><span class="id" title="variable">mul</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_law"><span class="id" title="record">com_law</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.mulmC"><span class="id" title="lemma">mulmC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Commutative.mul"><span class="id" title="variable">mul</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.mulmCA"><span class="id" title="lemma">mulmCA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_commutative"><span class="id" title="definition">left_commutative</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Commutative.mul"><span class="id" title="variable">mul</span></a>.<br/>
+ <span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.mulmAC"><span class="id" title="lemma">mulmAC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_commutative"><span class="id" title="definition">right_commutative</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Commutative.mul"><span class="id" title="variable">mul</span></a>.<br/>
+ <span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.mulmACA"><span class="id" title="lemma">mulmACA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#interchange"><span class="id" title="definition">interchange</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Commutative.mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Commutative.mul"><span class="id" title="variable">mul</span></a>.<br/>
+ <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Commutative"><span class="id" title="section">Commutative</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Monoid.Theory.Theory.Mul"><span class="id" title="section">Mul</span></a>.<br/>
+<span class="id" title="keyword">Variable</span> <a name="Monoid.Theory.Theory.Mul.mul"><span class="id" title="variable">mul</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.mul_law"><span class="id" title="record">mul_law</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.mul0m"><span class="id" title="lemma">mul0m</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_zero"><span class="id" title="definition">left_zero</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Mul.mul"><span class="id" title="variable">mul</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.mulm0"><span class="id" title="lemma">mulm0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_zero"><span class="id" title="definition">right_zero</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Mul.mul"><span class="id" title="variable">mul</span></a>. <br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Mul"><span class="id" title="section">Mul</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Monoid.Theory.Theory.Add"><span class="id" title="section">Add</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Monoid.Theory.Theory.Add.mul"><span class="id" title="variable">mul</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.T"><span class="id" title="variable">T</span></a>) (<a name="Monoid.Theory.Theory.Add.add"><span class="id" title="variable">add</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.add_law"><span class="id" title="record">add_law</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#mul"><span class="id" title="variable">mul</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.addmA"><span class="id" title="lemma">addmA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Add.add"><span class="id" title="variable">add</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.addmC"><span class="id" title="lemma">addmC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Add.add"><span class="id" title="variable">add</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.addmCA"><span class="id" title="lemma">addmCA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_commutative"><span class="id" title="definition">left_commutative</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Add.add"><span class="id" title="variable">add</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.addmAC"><span class="id" title="lemma">addmAC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_commutative"><span class="id" title="definition">right_commutative</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Add.add"><span class="id" title="variable">add</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.add0m"><span class="id" title="lemma">add0m</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Add.add"><span class="id" title="variable">add</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.addm0"><span class="id" title="lemma">addm0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.idm"><span class="id" title="variable">idm</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Add.add"><span class="id" title="variable">add</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.mulm_addl"><span class="id" title="lemma">mulm_addl</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Add.mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Add.add"><span class="id" title="variable">add</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Monoid.Theory.mulm_addr"><span class="id" title="lemma">mulm_addr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Add.mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Add.add"><span class="id" title="variable">add</span></a>. <br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory.Add"><span class="id" title="section">Add</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Monoid.Theory.simpm"><span class="id" title="definition">simpm</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.mulm1"><span class="id" title="lemma">mulm1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.mulm0"><span class="id" title="lemma">mulm0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.mul1m"><span class="id" title="lemma">mul1m</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.mul0m"><span class="id" title="lemma">mul0m</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.mulmA"><span class="id" title="lemma">mulmA</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory.Theory"><span class="id" title="section">Theory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory"><span class="id" title="module">Theory</span></a>.<br/>
+<span class="id" title="keyword">Include</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Theory"><span class="id" title="module">Theory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid"><span class="id" title="module">Monoid</span></a>.<br/>
+<span class="id" title="keyword">Export</span> <span class="id" title="var">Monoid.Exports</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="PervasiveMonoids"><span class="id" title="section">PervasiveMonoids</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">Monoid</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">andb_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Law"><span class="id" title="constructor">Law</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#andbA"><span class="id" title="lemma">andbA</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#andTb"><span class="id" title="lemma">andTb</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#andbT"><span class="id" title="lemma">andbT</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">andb_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#ComLaw"><span class="id" title="constructor">ComLaw</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#andbC"><span class="id" title="lemma">andbC</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">andb_muloid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#MulLaw"><span class="id" title="constructor">MulLaw</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#andFb"><span class="id" title="lemma">andFb</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#andbF"><span class="id" title="lemma">andbF</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">orb_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Law"><span class="id" title="constructor">Law</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#orbA"><span class="id" title="lemma">orbA</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#orFb"><span class="id" title="lemma">orFb</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#orbF"><span class="id" title="lemma">orbF</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">orb_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#ComLaw"><span class="id" title="constructor">ComLaw</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#orbC"><span class="id" title="lemma">orbC</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">orb_muloid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#MulLaw"><span class="id" title="constructor">MulLaw</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#orTb"><span class="id" title="lemma">orTb</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#orbT"><span class="id" title="lemma">orbT</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addb_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Law"><span class="id" title="constructor">Law</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#addbA"><span class="id" title="lemma">addbA</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#addFb"><span class="id" title="lemma">addFb</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#addbF"><span class="id" title="lemma">addbF</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addb_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#ComLaw"><span class="id" title="constructor">ComLaw</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#addbC"><span class="id" title="lemma">addbC</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">orb_addoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#AddLaw"><span class="id" title="constructor">AddLaw</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#andb_orl"><span class="id" title="lemma">andb_orl</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#andb_orr"><span class="id" title="lemma">andb_orr</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">andb_addoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#AddLaw"><span class="id" title="constructor">AddLaw</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#orb_andl"><span class="id" title="lemma">orb_andl</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#orb_andr"><span class="id" title="lemma">orb_andr</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addb_addoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#AddLaw"><span class="id" title="constructor">AddLaw</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#andb_addl"><span class="id" title="lemma">andb_addl</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#andb_addr"><span class="id" title="lemma">andb_addr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addn_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Law"><span class="id" title="constructor">Law</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#addnA"><span class="id" title="lemma">addnA</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#add0n"><span class="id" title="lemma">add0n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#addn0"><span class="id" title="lemma">addn0</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addn_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#ComLaw"><span class="id" title="constructor">ComLaw</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#addnC"><span class="id" title="lemma">addnC</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">muln_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Law"><span class="id" title="constructor">Law</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#mulnA"><span class="id" title="lemma">mulnA</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#mul1n"><span class="id" title="lemma">mul1n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#muln1"><span class="id" title="lemma">muln1</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">muln_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#ComLaw"><span class="id" title="constructor">ComLaw</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#mulnC"><span class="id" title="lemma">mulnC</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">muln_muloid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#MulLaw"><span class="id" title="constructor">MulLaw</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#mul0n"><span class="id" title="lemma">mul0n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#muln0"><span class="id" title="lemma">muln0</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addn_addoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#AddLaw"><span class="id" title="constructor">AddLaw</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#mulnDl"><span class="id" title="lemma">mulnDl</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#mulnDr"><span class="id" title="lemma">mulnDr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">maxn_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Law"><span class="id" title="constructor">Law</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxnA"><span class="id" title="lemma">maxnA</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#max0n"><span class="id" title="lemma">max0n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn0"><span class="id" title="lemma">maxn0</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">maxn_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#ComLaw"><span class="id" title="constructor">ComLaw</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxnC"><span class="id" title="lemma">maxnC</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">maxn_addoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#AddLaw"><span class="id" title="constructor">AddLaw</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn_mull"><span class="id" title="lemma">maxn_mull</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn_mulr"><span class="id" title="lemma">maxn_mulr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gcdn_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Law"><span class="id" title="constructor">Law</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#gcdnA"><span class="id" title="lemma">gcdnA</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#gcd0n"><span class="id" title="lemma">gcd0n</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#gcdn0"><span class="id" title="lemma">gcdn0</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gcdn_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#ComLaw"><span class="id" title="constructor">ComLaw</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#gcdnC"><span class="id" title="lemma">gcdnC</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gcdnDoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#AddLaw"><span class="id" title="constructor">AddLaw</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#muln_gcdl"><span class="id" title="lemma">muln_gcdl</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#muln_gcdr"><span class="id" title="lemma">muln_gcdr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lcmn_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Law"><span class="id" title="constructor">Law</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#lcmnA"><span class="id" title="lemma">lcmnA</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#lcm1n"><span class="id" title="lemma">lcm1n</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#lcmn1"><span class="id" title="lemma">lcmn1</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lcmn_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#ComLaw"><span class="id" title="constructor">ComLaw</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#lcmnC"><span class="id" title="lemma">lcmnC</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lcmn_addoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#AddLaw"><span class="id" title="constructor">AddLaw</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#muln_lcml"><span class="id" title="lemma">muln_lcml</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#muln_lcmr"><span class="id" title="lemma">muln_lcmr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cat_monoid</span> <span class="id" title="var">T</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Law"><span class="id" title="constructor">Law</span></a> (@<a class="idref" href="mathcomp.ssreflect.seq.html#catA"><span class="id" title="lemma">catA</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a>) (@<a class="idref" href="mathcomp.ssreflect.seq.html#cat0s"><span class="id" title="lemma">cat0s</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a>) (@<a class="idref" href="mathcomp.ssreflect.seq.html#cats0"><span class="id" title="lemma">cats0</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#PervasiveMonoids"><span class="id" title="section">PervasiveMonoids</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Unit test for the [...law of ... ] Notations
+Definition myp := addn. Definition mym := muln.
+Canonical myp_mon := [law of myp].
+Canonical myp_cmon := [com_law of myp].
+Canonical mym_mul := [mul_law of mym].
+Canonical myp_add := [add_law _ of myp].
+Print myp_add.
+Print Canonical Projections.
+
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">big_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">BIG</span>.<br/>
+<span class="id" title="keyword">Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">big_scope</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The bigbody wrapper is a workaround for a quirk of the Coq pretty-printer,
+ which would fail to redisplay the \big notation when the &lt;general_term&gt; or
+ &lt;condition&gt; do not depend on the bound index. The BigBody constructor
+ packages both in in a term in which i occurs; it also depends on the
+ iterated &lt;op&gt;, as this can give more information on the expected type of
+ the &lt;general_term&gt;, thus allowing for the insertion of coercions.
+</div>
+<div class="code">
+<span class="id" title="keyword">CoInductive</span> <a name="bigbody"><span class="id" title="inductive">bigbody</span></a> <span class="id" title="var">R</span> <span class="id" title="var">I</span> := <a name="BigBody"><span class="id" title="constructor">BigBody</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> &amp; (<a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a>) &amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a> &amp; <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="applybig"><span class="id" title="definition">applybig</span></a> {<span class="id" title="var">R</span> <span class="id" title="var">I</span>} (<span class="id" title="var">body</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#bigbody"><span class="id" title="inductive">bigbody</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">x</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBody"><span class="id" title="constructor">BigBody</span></a> <span class="id" title="var">_</span> <span class="id" title="var">op</span> <span class="id" title="var">b</span> <span class="id" title="var">v</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#body"><span class="id" title="variable">body</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <span class="id" title="var">b</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <span class="id" title="var">op</span> <span class="id" title="var">v</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="reducebig"><span class="id" title="definition">reducebig</span></a> <span class="id" title="var">R</span> <span class="id" title="var">I</span> <span class="id" title="var">idx</span> <span class="id" title="var">r</span> (<span class="id" title="var">body</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#bigbody"><span class="id" title="inductive">bigbody</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#applybig"><span class="id" title="definition">applybig</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#body"><span class="id" title="variable">body</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#idx"><span class="id" title="variable">idx</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Type</span> <a name="BigOpSig"><span class="id" title="module">BigOpSig</span></a>.<br/>
+<span class="id" title="keyword">Parameter</span> <a name="BigOpSig.bigop"><span class="id" title="axiom">bigop</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">R</span> <span class="id" title="var">I</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#bigbody"><span class="id" title="inductive">bigbody</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a>.<br/>
+<span class="id" title="keyword">Axiom</span> <a name="BigOpSig.bigopE"><span class="id" title="axiom">bigopE</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#BigOpSig.bigop"><span class="id" title="axiom">bigop</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#reducebig"><span class="id" title="definition">reducebig</span></a>.<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigOpSig"><span class="id" title="module">BigOpSig</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <a name="BigOp"><span class="id" title="module">BigOp</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#BigOpSig"><span class="id" title="module">BigOpSig</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="BigOp.bigop"><span class="id" title="definition">bigop</span></a> := <a class="idref" href="mathcomp.ssreflect.bigop.html#reducebig"><span class="id" title="definition">reducebig</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="BigOp.bigopE"><span class="id" title="lemma">bigopE</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#BigOp.bigop"><span class="id" title="definition">bigop</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#reducebig"><span class="id" title="definition">reducebig</span></a>. <br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigOp"><span class="id" title="module">BigOp</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="bigop"><span class="id" title="abbreviation">bigop</span></a> := <a class="idref" href="mathcomp.ssreflect.bigop.html#bigop"><span class="id" title="axiom">BigOp.bigop</span></a> (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">bigop_unlock</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Unlockable"><span class="id" title="constructor">Unlockable</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#bigopE"><span class="id" title="axiom">BigOp.bigopE</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="index_iota"><span class="id" title="definition">index_iota</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#iota"><span class="id" title="definition">iota</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="index_enum"><span class="id" title="definition">index_enum</span></a> (<span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) := <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.enum"><span class="id" title="abbreviation">Finite.enum</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mem_index_iota"><span class="id" title="lemma">mem_index_iota</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#index_iota"><span class="id" title="definition">index_iota</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mem_index_enum"><span class="id" title="lemma">mem_index_enum</span></a> <span class="id" title="var">T</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#index_enum"><span class="id" title="definition">index_enum</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a>.<br/>
+ <span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">mem_index_enum</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="filter_index_enum"><span class="id" title="lemma">filter_index_enum</span></a> <span class="id" title="var">T</span> <span class="id" title="var">P</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#filter"><span class="id" title="definition">filter</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#index_enum"><span class="id" title="definition">index_enum</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#T"><span class="id" title="variable">T</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#enum"><span class="id" title="abbreviation">enum</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ ( i &lt;- r | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#bigop"><span class="id" title="abbreviation">bigop</span></a> <span class="id" title="var">idx</span> <span class="id" title="var">r</span> (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBody"><span class="id" title="constructor">BigBody</span></a> <span class="id" title="var">i</span> <span class="id" title="var">op</span> <span class="id" title="var">P</span>%<span class="id" title="var">B</span> <span class="id" title="var">F</span>)) : <span class="id" title="var">big_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ ( i &lt;- r ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#bigop"><span class="id" title="abbreviation">bigop</span></a> <span class="id" title="var">idx</span> <span class="id" title="var">r</span> (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBody"><span class="id" title="constructor">BigBody</span></a> <span class="id" title="var">i</span> <span class="id" title="var">op</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <span class="id" title="var">F</span>)) : <span class="id" title="var">big_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ ( m &lt;= i &lt; n | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#bigop"><span class="id" title="abbreviation">bigop</span></a> <span class="id" title="var">idx</span> (<a class="idref" href="mathcomp.ssreflect.bigop.html#index_iota"><span class="id" title="definition">index_iota</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBody"><span class="id" title="constructor">BigBody</span></a> <span class="id" title="var">i</span> <span class="id" title="var">op</span> <span class="id" title="var">P</span>%<span class="id" title="var">B</span> <span class="id" title="var">F</span>))<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: <span class="id" title="var">big_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ ( m &lt;= i &lt; n ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#bigop"><span class="id" title="abbreviation">bigop</span></a> <span class="id" title="var">idx</span> (<a class="idref" href="mathcomp.ssreflect.bigop.html#index_iota"><span class="id" title="definition">index_iota</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBody"><span class="id" title="constructor">BigBody</span></a> <span class="id" title="var">i</span> <span class="id" title="var">op</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <span class="id" title="var">F</span>))<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: <span class="id" title="var">big_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ ( i | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#bigop"><span class="id" title="abbreviation">bigop</span></a> <span class="id" title="var">idx</span> (<a class="idref" href="mathcomp.ssreflect.bigop.html#index_enum"><span class="id" title="definition">index_enum</span></a> <span class="id" title="var">_</span>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBody"><span class="id" title="constructor">BigBody</span></a> <span class="id" title="var">i</span> <span class="id" title="var">op</span> <span class="id" title="var">P</span>%<span class="id" title="var">B</span> <span class="id" title="var">F</span>)) : <span class="id" title="var">big_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ i F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#bigop"><span class="id" title="abbreviation">bigop</span></a> <span class="id" title="var">idx</span> (<a class="idref" href="mathcomp.ssreflect.bigop.html#index_enum"><span class="id" title="definition">index_enum</span></a> <span class="id" title="var">_</span>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBody"><span class="id" title="constructor">BigBody</span></a> <span class="id" title="var">i</span> <span class="id" title="var">op</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <span class="id" title="var">F</span>)) : <span class="id" title="var">big_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ ( i : t | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#bigop"><span class="id" title="abbreviation">bigop</span></a> <span class="id" title="var">idx</span> (<a class="idref" href="mathcomp.ssreflect.bigop.html#index_enum"><span class="id" title="definition">index_enum</span></a> <span class="id" title="var">_</span>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> : <span class="id" title="var">t</span> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBody"><span class="id" title="constructor">BigBody</span></a> <span class="id" title="var">i</span> <span class="id" title="var">op</span> <span class="id" title="var">P</span>%<span class="id" title="var">B</span> <span class="id" title="var">F</span>))<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">big_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ ( i : t ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#bigop"><span class="id" title="abbreviation">bigop</span></a> <span class="id" title="var">idx</span> (<a class="idref" href="mathcomp.ssreflect.bigop.html#index_enum"><span class="id" title="definition">index_enum</span></a> <span class="id" title="var">_</span>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> : <span class="id" title="var">t</span> ⇒ <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBody"><span class="id" title="constructor">BigBody</span></a> <span class="id" title="var">i</span> <span class="id" title="var">op</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <span class="id" title="var">F</span>))<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">big_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ ( i &lt; n | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">[</span></a><span class="id" title="var">op</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">/</span></a><span class="id" title="var">idx</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#ordinal"><span class="id" title="inductive">ordinal</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>) : <span class="id" title="var">big_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ ( i &lt; n ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a><span class="id" title="var">op</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a><span class="id" title="var">idx</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#ordinal"><span class="id" title="inductive">ordinal</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>) : <span class="id" title="var">big_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ ( i 'in' A | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><span class="id" title="var">op</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a><span class="id" title="var">idx</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>) : <span class="id" title="var">big_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">&quot;</span></a>\big [ op / idx ]_ ( i 'in' A ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><span class="id" title="var">op</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a><span class="id" title="var">idx</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <span class="id" title="var">i</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>) : <span class="id" title="var">big_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="BIG_F"><span class="id" title="abbreviation">BIG_F</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssrmatching.ssrmatching.html#6979a4c7233c121ad2ada238740f8921"><span class="id" title="notation">(</span></a><span class="id" title="var">F</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssrmatching.ssrmatching.html#6979a4c7233c121ad2ada238740f8921"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssrmatching.ssrmatching.html#6979a4c7233c121ad2ada238740f8921"><span class="id" title="notation">)</span></a>%<span class="id" title="tactic">pattern</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="BIG_P"><span class="id" title="abbreviation">BIG_P</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssrmatching.ssrmatching.html#6979a4c7233c121ad2ada238740f8921"><span class="id" title="notation">(</span></a><span class="id" title="var">P</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssrmatching.ssrmatching.html#6979a4c7233c121ad2ada238740f8921"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <span class="id" title="var">_</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssrmatching.ssrmatching.html#6979a4c7233c121ad2ada238740f8921"><span class="id" title="notation">)</span></a>%<span class="id" title="tactic">pattern</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">&quot;</span></a>\sum_ ( i &lt;- r | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="b37dc668e343eb17a55a9974b7f85ec0"><span class="id" title="notation">&quot;</span></a>\sum_ ( i &lt;- r ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="2df91ddc48c8d83f038ed3be0310fe80"><span class="id" title="notation">&quot;</span></a>\sum_ ( m &lt;= i &lt; n | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="01dc18dd2300d727116181d8b66f2939"><span class="id" title="notation">&quot;</span></a>\sum_ ( m &lt;= i &lt; n ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">&quot;</span></a>\sum_ ( i | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="b91591d27d854cdae67c690fc99842e0"><span class="id" title="notation">&quot;</span></a>\sum_ i F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="7a4b4c85130bfc0e8f72b193f0d9d76c"><span class="id" title="notation">&quot;</span></a>\sum_ ( i : t | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="e64cc3c5d76cdbf7e494b4b3b4ffc177"><span class="id" title="notation">&quot;</span></a>\sum_ ( i : t ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="bc5057385ca1965dacf24d9d1fe93266"><span class="id" title="notation">&quot;</span></a>\sum_ ( i &lt; n | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="61f81dc9ba2725ea9fb474df7def3848"><span class="id" title="notation">&quot;</span></a>\sum_ ( i &lt; n ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="825534f5f24e35dc0a5cc902f0243d78"><span class="id" title="notation">&quot;</span></a>\sum_ ( i 'in' A | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">&quot;</span></a>\sum_ ( i 'in' A ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#65674617baff29a5f941115ae0584dce"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">&quot;</span></a>\prod_ ( i &lt;- r | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="17f5e2c8159f7cb8a09e8ff3493701ed"><span class="id" title="notation">&quot;</span></a>\prod_ ( i &lt;- r ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="62ab9ebfa3c5245858df07eba0304ff1"><span class="id" title="notation">&quot;</span></a>\prod_ ( m &lt;= i &lt; n | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">&quot;</span></a>\prod_ ( m &lt;= i &lt; n ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="8ac910165c2936423e0873139549cd5f"><span class="id" title="notation">&quot;</span></a>\prod_ ( i | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="bfac705f64c3db01a8d9bc71b0931ec0"><span class="id" title="notation">&quot;</span></a>\prod_ i F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="071d0d27998120b3e72ee5ebc3377f4c"><span class="id" title="notation">&quot;</span></a>\prod_ ( i : t | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="87d8bf1e4d249771f693cafe9f39669b"><span class="id" title="notation">&quot;</span></a>\prod_ ( i : t ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="50da21d507d098923e7be5d1a440526b"><span class="id" title="notation">&quot;</span></a>\prod_ ( i &lt; n | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="5f73cf6dddb5b8dc2982d4589df035c3"><span class="id" title="notation">&quot;</span></a>\prod_ ( i &lt; n ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="b0ed35542e864bb2f76ad6d16290aa81"><span class="id" title="notation">&quot;</span></a>\prod_ ( i 'in' A | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="3dbd7b8338ea3441287f4a7697721736"><span class="id" title="notation">&quot;</span></a>\prod_ ( i 'in' A ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc50c29393048d13b8a47d3a42055585"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="598471fe11d752586b6a83b8a4d0f333"><span class="id" title="notation">&quot;</span></a>\max_ ( i &lt;- r | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="bb1f9e9cd0496ba3ae376cb58f009d55"><span class="id" title="notation">&quot;</span></a>\max_ ( i &lt;- r ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">&quot;</span></a>\max_ ( i | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="ed091aa88b7a5d97af8e68b6798719dd"><span class="id" title="notation">&quot;</span></a>\max_ i F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="8dd26a147a8dd28d63128da415ebb828"><span class="id" title="notation">&quot;</span></a>\max_ ( i : I | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">:</span></a> <span class="id" title="var">I</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="055d9d308a163dfcf8b482a9192ece66"><span class="id" title="notation">&quot;</span></a>\max_ ( i : I ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <span class="id" title="var">I</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="91b5f25876590f7254518fbd10aa2391"><span class="id" title="notation">&quot;</span></a>\max_ ( m &lt;= i &lt; n | P ) F" :=<br/>
+&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="716731a3a1230ec6ed334fc013cabc91"><span class="id" title="notation">&quot;</span></a>\max_ ( m &lt;= i &lt; n ) F" :=<br/>
+&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="cb5058a76e7c3d2db891f1212fc2d3ee"><span class="id" title="notation">&quot;</span></a>\max_ ( i &lt; n | P ) F" :=<br/>
+&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="2e8f487d341e1ab4c6af2ac15a318eda"><span class="id" title="notation">&quot;</span></a>\max_ ( i &lt; n ) F" :=<br/>
+&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="c2b598fab72f066a8e15338234121328"><span class="id" title="notation">&quot;</span></a>\max_ ( i 'in' A | P ) F" :=<br/>
+&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="71d58bf7fdcf47f002b51de38c69e9d5"><span class="id" title="notation">&quot;</span></a>\max_ ( i 'in' A ) F" :=<br/>
+&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">N</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Induction loading
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="big_load"><span class="id" title="lemma">big_load</span></a> <span class="id" title="var">R</span> (<span class="id" title="var">K</span> <span class="id" title="var">K'</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">Type</span>) <span class="id" title="var">idx</span> <span class="id" title="var">op</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#K'"><span class="id" title="variable">K'</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#K'"><span class="id" title="variable">K'</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Elim3"><span class="id" title="section">Elim3</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Elim3.R1"><span class="id" title="variable">R1</span></a> <a name="Elim3.R2"><span class="id" title="variable">R2</span></a> <a name="Elim3.R3"><span class="id" title="variable">R3</span></a> : <span class="id" title="keyword">Type</span>) (<a name="Elim3.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R3"><span class="id" title="variable">R3</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">Type</span>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Elim3.id1"><span class="id" title="variable">id1</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R1"><span class="id" title="variable">R1</span></a>) (<a name="Elim3.op1"><span class="id" title="variable">op1</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R1"><span class="id" title="variable">R1</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Elim3.id2"><span class="id" title="variable">id2</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R2"><span class="id" title="variable">R2</span></a>) (<a name="Elim3.op2"><span class="id" title="variable">op2</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R2"><span class="id" title="variable">R2</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Elim3.id3"><span class="id" title="variable">id3</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R3"><span class="id" title="variable">R3</span></a>) (<a name="Elim3.op3"><span class="id" title="variable">op3</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R3"><span class="id" title="variable">R3</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R3"><span class="id" title="variable">R3</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.R3"><span class="id" title="variable">R3</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="Elim3.Kid"><span class="id" title="variable">Kid</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.id1"><span class="id" title="variable">id1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.id2"><span class="id" title="variable">id2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.id3"><span class="id" title="variable">id3</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_rec3"><span class="id" title="lemma">big_rec3</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F1</span> <span class="id" title="var">F2</span> <span class="id" title="var">F3</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">K_F</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> <span class="id" title="var">y1</span> <span class="id" title="var">y2</span> <span class="id" title="var">y3</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y3"><span class="id" title="variable">y3</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op1"><span class="id" title="variable">op1</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#y1"><span class="id" title="variable">y1</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op2"><span class="id" title="variable">op2</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#y2"><span class="id" title="variable">y2</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op3"><span class="id" title="variable">op3</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F3"><span class="id" title="variable">F3</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#y3"><span class="id" title="variable">y3</span></a>)) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op1"><span class="id" title="variable">op1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.id1"><span class="id" title="variable">id1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op2"><span class="id" title="variable">op2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.id2"><span class="id" title="variable">id2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op3"><span class="id" title="variable">op3</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.id3"><span class="id" title="variable">id3</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F3"><span class="id" title="variable">F3</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="Elim3.Kop"><span class="id" title="variable">Kop</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">x1</span> <span class="id" title="var">x2</span> <span class="id" title="var">x3</span> <span class="id" title="var">y1</span> <span class="id" title="var">y2</span> <span class="id" title="var">y3</span>,<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x3"><span class="id" title="variable">x3</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y3"><span class="id" title="variable">y3</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op1"><span class="id" title="variable">op1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y1"><span class="id" title="variable">y1</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op2"><span class="id" title="variable">op2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y2"><span class="id" title="variable">y2</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op3"><span class="id" title="variable">op3</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x3"><span class="id" title="variable">x3</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y3"><span class="id" title="variable">y3</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ind3"><span class="id" title="lemma">big_ind3</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F1</span> <span class="id" title="var">F2</span> <span class="id" title="var">F3</span><br/>
+&nbsp;&nbsp;&nbsp;(<span class="id" title="var">K_F</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#F3"><span class="id" title="variable">F3</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op1"><span class="id" title="variable">op1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.id1"><span class="id" title="variable">id1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op2"><span class="id" title="variable">op2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.id2"><span class="id" title="variable">id2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.op3"><span class="id" title="variable">op3</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3.id3"><span class="id" title="variable">id3</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F3"><span class="id" title="variable">F3</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim3"><span class="id" title="section">Elim3</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Elim2"><span class="id" title="section">Elim2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Elim2.R1"><span class="id" title="variable">R1</span></a> <a name="Elim2.R2"><span class="id" title="variable">R2</span></a> : <span class="id" title="keyword">Type</span>) (<a name="Elim2.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">Type</span>) (<a name="Elim2.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R1"><span class="id" title="variable">R1</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Elim2.id1"><span class="id" title="variable">id1</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.R1"><span class="id" title="variable">R1</span></a>) (<a name="Elim2.op1"><span class="id" title="variable">op1</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.R1"><span class="id" title="variable">R1</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Elim2.id2"><span class="id" title="variable">id2</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.R2"><span class="id" title="variable">R2</span></a>) (<a name="Elim2.op2"><span class="id" title="variable">op2</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.R2"><span class="id" title="variable">R2</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="Elim2.Kid"><span class="id" title="variable">Kid</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.id1"><span class="id" title="variable">id1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.id2"><span class="id" title="variable">id2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_rec2"><span class="id" title="lemma">big_rec2</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F1</span> <span class="id" title="var">F2</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">K_F</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> <span class="id" title="var">y1</span> <span class="id" title="var">y2</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op1"><span class="id" title="variable">op1</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#y1"><span class="id" title="variable">y1</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op2"><span class="id" title="variable">op2</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#y2"><span class="id" title="variable">y2</span></a>)) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op1"><span class="id" title="variable">op1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.id1"><span class="id" title="variable">id1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op2"><span class="id" title="variable">op2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.id2"><span class="id" title="variable">id2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="Elim2.Kop"><span class="id" title="variable">Kop</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">x1</span> <span class="id" title="var">x2</span> <span class="id" title="var">y1</span> <span class="id" title="var">y2</span>,<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op1"><span class="id" title="variable">op1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y1"><span class="id" title="variable">y1</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op2"><span class="id" title="variable">op2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y2"><span class="id" title="variable">y2</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ind2"><span class="id" title="lemma">big_ind2</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F1</span> <span class="id" title="var">F2</span> (<span class="id" title="var">K_F</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op1"><span class="id" title="variable">op1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.id1"><span class="id" title="variable">id1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op2"><span class="id" title="variable">op2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.id2"><span class="id" title="variable">id2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypotheses</span> (<a name="Elim2.f_op"><span class="id" title="variable">f_op</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op2"><span class="id" title="variable">op2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op1"><span class="id" title="variable">op1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">}</span></a>) (<a name="Elim2.f_id"><span class="id" title="variable">f_id</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.id2"><span class="id" title="variable">id2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.id1"><span class="id" title="variable">id1</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_morph"><span class="id" title="lemma">big_morph</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op2"><span class="id" title="variable">op2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.id2"><span class="id" title="variable">id2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.op1"><span class="id" title="variable">op1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.id1"><span class="id" title="variable">id1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim2"><span class="id" title="section">Elim2</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Elim1"><span class="id" title="section">Elim1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Elim1.R"><span class="id" title="variable">R</span></a> : <span class="id" title="keyword">Type</span>) (<a name="Elim1.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">Type</span>) (<a name="Elim1.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Elim1.idx"><span class="id" title="variable">idx</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.R"><span class="id" title="variable">R</span></a>) (<a name="Elim1.op"><span class="id" title="variable">op</span></a> <a name="Elim1.op'"><span class="id" title="variable">op'</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.R"><span class="id" title="variable">R</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="Elim1.Kid"><span class="id" title="variable">Kid</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_rec"><span class="id" title="lemma">big_rec</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">Kop</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.op"><span class="id" title="variable">op</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a>)) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="Elim1.Kop"><span class="id" title="variable">Kop</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.op"><span class="id" title="variable">op</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ind"><span class="id" title="lemma">big_ind</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> (<span class="id" title="var">K_F</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="Elim1.Kop'"><span class="id" title="variable">Kop'</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.op"><span class="id" title="variable">op</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.op'"><span class="id" title="variable">op'</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_big_op"><span class="id" title="lemma">eq_big_op</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> (<span class="id" title="var">K_F</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.K"><span class="id" title="variable">K</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.op'"><span class="id" title="variable">op'</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypotheses</span> (<a name="Elim1.fM"><span class="id" title="variable">fM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.op"><span class="id" title="variable">op</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a>) (<a name="Elim1.f_id"><span class="id" title="variable">f_id</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.idx"><span class="id" title="variable">idx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.idx"><span class="id" title="variable">idx</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_endo"><span class="id" title="lemma">big_endo</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Elim1"><span class="id" title="section">Elim1</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Extensionality"><span class="id" title="section">Extensionality</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Extensionality.R"><span class="id" title="variable">R</span></a> : <span class="id" title="keyword">Type</span>) (<a name="Extensionality.idx"><span class="id" title="variable">idx</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a>) (<a name="Extensionality.op"><span class="id" title="variable">op</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#R"><span class="id" title="variable">R</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Extensionality.SeqExtension"><span class="id" title="section">SeqExtension</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a> : <span class="id" title="keyword">Type</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_filter"><span class="id" title="lemma">big_filter</span></a> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#filter"><span class="id" title="definition">filter</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_filter_cond"><span class="id" title="lemma">big_filter_cond</span></a> <span class="id" title="var">r</span> (<span class="id" title="var">P1</span> <span class="id" title="var">P2</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#filter"><span class="id" title="definition">filter</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_bigl"><span class="id" title="lemma">eq_bigl</span></a> <span class="id" title="var">r</span> (<span class="id" title="var">P1</span> <span class="id" title="var">P2</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ A lemma to permute aggregate conditions.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="big_andbC"><span class="id" title="lemma">big_andbC</span></a> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> <span class="id" title="var">Q</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_bigr"><span class="id" title="lemma">eq_bigr</span></a> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F1</span> <span class="id" title="var">F2</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_big"><span class="id" title="lemma">eq_big</span></a> <span class="id" title="var">r</span> (<span class="id" title="var">P1</span> <span class="id" title="var">P2</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F1</span> <span class="id" title="var">F2</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="congr_big"><span class="id" title="lemma">congr_big</span></a> <span class="id" title="var">r1</span> <span class="id" title="var">r2</span> (<span class="id" title="var">P1</span> <span class="id" title="var">P2</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F1</span> <span class="id" title="var">F2</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_nil"><span class="id" title="lemma">big_nil</span></a> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_cons"><span class="id" title="lemma">big_cons</span></a> <span class="id" title="var">i</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_map"><span class="id" title="lemma">big_map</span></a> <span class="id" title="var">J</span> (<span class="id" title="var">h</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_nth"><span class="id" title="lemma">big_nth</span></a> <span class="id" title="var">x0</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#nth"><span class="id" title="definition">nth</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#nth"><span class="id" title="definition">nth</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_hasC"><span class="id" title="lemma">big_hasC</span></a> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_pred0_eq"><span class="id" title="lemma">big_pred0_eq</span></a> (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_pred0"><span class="id" title="lemma">big_pred0</span></a> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#xpred0"><span class="id" title="abbreviation">xpred0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_cat_nested"><span class="id" title="lemma">big_cat_nested</span></a> <span class="id" title="var">r1</span> <span class="id" title="var">r2</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_catl"><span class="id" title="lemma">big_catl</span></a> <span class="id" title="var">r1</span> <span class="id" title="var">r2</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_catr"><span class="id" title="lemma">big_catr</span></a> <span class="id" title="var">r1</span> <span class="id" title="var">r2</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_const_seq"><span class="id" title="lemma">big_const_seq</span></a> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#count"><span class="id" title="definition">count</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.SeqExtension"><span class="id" title="section">SeqExtension</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The following lemmas can be used to localise extensionality to a specific
+ index sequence. This is done by ssreflect rewriting, before applying
+ congruence or induction lemmas.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="big_seq_cond"><span class="id" title="lemma">big_seq_cond</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_seq"><span class="id" title="lemma">big_seq</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_big_seq"><span class="id" title="lemma">eq_big_seq</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F1</span> <span class="id" title="var">F2</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Similar lemmas for exposing integer indexing in the predicate.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="big_nat_cond"><span class="id" title="lemma">big_nat_cond</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_nat"><span class="id" title="lemma">big_nat</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="congr_big_nat"><span class="id" title="lemma">congr_big_nat</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">n1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n2</span> <span class="id" title="var">P1</span> <span class="id" title="var">P2</span> <span class="id" title="var">F1</span> <span class="id" title="var">F2</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_big_nat"><span class="id" title="lemma">eq_big_nat</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">F1</span> <span class="id" title="var">F2</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_geq"><span class="id" title="lemma">big_geq</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#08fe8636f4b45ae6787c490d19de1366"><span class="id" title="notation">≥</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ltn_cond"><span class="id" title="lemma">big_ltn_cond</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">let</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ltn"><span class="id" title="lemma">big_ltn</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_addn"><span class="id" title="lemma">big_addn</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">a</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_add1"><span class="id" title="lemma">big_add1</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">.-1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_nat_recl"><span class="id" title="lemma">big_nat_recl</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_mkord"><span class="id" title="lemma">big_mkord</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_nat_widen"><span class="id" title="lemma">big_nat_widen</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ord_widen_cond"><span class="id" title="lemma">big_ord_widen_cond</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.R"><span class="id" title="variable">R</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ord_widen"><span class="id" title="lemma">big_ord_widen</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">F</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.R"><span class="id" title="variable">R</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ord_widen_leq"><span class="id" title="lemma">big_ord_widen_leq</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">I_</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">)</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#inord"><span class="id" title="definition">inord</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#inord"><span class="id" title="definition">inord</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ord0"><span class="id" title="lemma">big_ord0</span></a> <span class="id" title="var">P</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> 0 <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_tnth"><span class="id" title="lemma">big_tnth</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">r_</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#in_tuple"><span class="id" title="definition">in_tuple</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a>) <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#r_"><span class="id" title="variable">r_</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#r_"><span class="id" title="variable">r_</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_index_uniq"><span class="id" title="lemma">big_index_uniq</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">I_</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.R"><span class="id" title="variable">R</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.seq.html#uniq"><span class="id" title="definition">uniq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#oapp"><span class="id" title="abbreviation">oapp</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#insub"><span class="id" title="definition">insub</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#index"><span class="id" title="definition">index</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_tuple"><span class="id" title="lemma">big_tuple</span></a> <span class="id" title="var">I</span> <span class="id" title="var">n</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#d8866adbd4a602b7b4cc275d73486ace"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#d8866adbd4a602b7b4cc275d73486ace"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ord_narrow_cond"><span class="id" title="lemma">big_ord_narrow_cond</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">I_n2</span></a>) <span class="id" title="var">F</span> (<span class="id" title="var">le_n12</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">w</span> := <a class="idref" href="mathcomp.ssreflect.fintype.html#widen_ord"><span class="id" title="definition">widen_ord</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#le_n12"><span class="id" title="variable">le_n12</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ord_narrow_cond_leq"><span class="id" title="lemma">big_ord_narrow_cond_leq</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <span class="id" title="var">_</span>) <span class="id" title="var">F</span> (<span class="id" title="var">le_n12</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">w</span> := @<a class="idref" href="mathcomp.ssreflect.fintype.html#widen_ord"><span class="id" title="definition">widen_ord</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#le_n12"><span class="id" title="variable">le_n12</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ord_narrow"><span class="id" title="lemma">big_ord_narrow</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> <span class="id" title="var">F</span> (<span class="id" title="var">le_n12</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">w</span> := <a class="idref" href="mathcomp.ssreflect.fintype.html#widen_ord"><span class="id" title="definition">widen_ord</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#le_n12"><span class="id" title="variable">le_n12</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ord_narrow_leq"><span class="id" title="lemma">big_ord_narrow_leq</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> <span class="id" title="var">F</span> (<span class="id" title="var">le_n12</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">w</span> := @<a class="idref" href="mathcomp.ssreflect.fintype.html#widen_ord"><span class="id" title="definition">widen_ord</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#le_n12"><span class="id" title="variable">le_n12</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ord_recl"><span class="id" title="lemma">big_ord_recl</span></a> <span class="id" title="var">n</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#ord0"><span class="id" title="definition">ord0</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (@<a class="idref" href="mathcomp.ssreflect.fintype.html#lift"><span class="id" title="definition">lift</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#ord0"><span class="id" title="definition">ord0</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_const"><span class="id" title="lemma">big_const</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_const_nat"><span class="id" title="lemma">big_const_nat</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_const_ord"><span class="id" title="lemma">big_const_ord</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_nseq_cond"><span class="id" title="lemma">big_nseq_cond</span></a> <span class="id" title="var">I</span> <span class="id" title="var">n</span> <span class="id" title="var">a</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#nseq"><span class="id" title="definition">nseq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a>)) <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_nseq"><span class="id" title="lemma">big_nseq</span></a> <span class="id" title="var">I</span> <span class="id" title="var">n</span> <span class="id" title="var">a</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.R"><span class="id" title="variable">R</span></a>):<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#nseq"><span class="id" title="definition">nseq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.op"><span class="id" title="variable">op</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a>)) <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Extensionality"><span class="id" title="section">Extensionality</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MonoidProperties"><span class="id" title="section">MonoidProperties</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">Monoid.Theory</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MonoidProperties.R"><span class="id" title="variable">R</span></a> : <span class="id" title="keyword">Type</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MonoidProperties.idx"><span class="id" title="variable">idx</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#MonoidProperties.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MonoidProperties.Plain"><span class="id" title="section">Plain</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MonoidProperties.Plain.op"><span class="id" title="variable">op</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#law"><span class="id" title="record">Monoid.law</span></a> 1.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_big_idx_seq"><span class="id" title="lemma">eq_big_idx_seq</span></a> <span class="id" title="var">idx'</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#idx'"><span class="id" title="variable">idx'</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#idx'"><span class="id" title="variable">idx'</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_big_idx"><span class="id" title="lemma">eq_big_idx</span></a> <span class="id" title="var">idx'</span> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">i0</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#idx'"><span class="id" title="variable">idx'</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#idx'"><span class="id" title="variable">idx'</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big1_eq"><span class="id" title="lemma">big1_eq</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) : <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big1"><span class="id" title="lemma">big1</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big1_seq"><span class="id" title="lemma">big1_seq</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_seq1"><span class="id" title="lemma">big_seq1</span></a> <span class="id" title="var">I</span> (<span class="id" title="var">i</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_mkcond"><span class="id" title="lemma">big_mkcond</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> 1<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_mkcondr"><span class="id" title="lemma">big_mkcondr</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> <span class="id" title="var">Q</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> 1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_mkcondl"><span class="id" title="lemma">big_mkcondl</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> <span class="id" title="var">Q</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> 1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_cat"><span class="id" title="lemma">big_cat</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r1</span> <span class="id" title="var">r2</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_allpairs"><span class="id" title="lemma">big_allpairs</span></a> <span class="id" title="var">I1</span> <span class="id" title="var">I2</span> (<span class="id" title="var">r1</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I1"><span class="id" title="variable">I1</span></a>) (<span class="id" title="var">r2</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I2"><span class="id" title="variable">I2</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#c212a7b762468fa83ed6c48a6ef21410"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#c212a7b762468fa83ed6c48a6ef21410"><span class="id" title="notation">seq</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#i1"><span class="id" title="variable">i1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i2"><span class="id" title="variable">i2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#c212a7b762468fa83ed6c48a6ef21410"><span class="id" title="notation">|</span></a> <span class="id" title="var">i1</span> <a class="idref" href="mathcomp.ssreflect.seq.html#c212a7b762468fa83ed6c48a6ef21410"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#c212a7b762468fa83ed6c48a6ef21410"><span class="id" title="notation">,</span></a> <span class="id" title="var">i2</span> <a class="idref" href="mathcomp.ssreflect.seq.html#c212a7b762468fa83ed6c48a6ef21410"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#c212a7b762468fa83ed6c48a6ef21410"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i1</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#MonoidProperties.Plain.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#MonoidProperties.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i2</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#i1"><span class="id" title="variable">i1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i2"><span class="id" title="variable">i2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_pred1_eq"><span class="id" title="lemma">big_pred1_eq</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">i</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_pred1"><span class="id" title="lemma">big_pred1</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">i</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#pred1"><span class="id" title="definition">pred1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_cat_nat"><span class="id" title="lemma">big_cat_nat</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> <span class="id" title="var">p</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_nat1"><span class="id" title="lemma">big_nat1</span></a> <span class="id" title="var">n</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_nat_recr"><span class="id" title="lemma">big_nat_recr</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_ord_recr"><span class="id" title="lemma">big_ord_recr</span></a> <span class="id" title="var">n</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#widen_ord"><span class="id" title="definition">widen_ord</span></a> (<a class="idref" href="mathcomp.ssreflect.ssrnat.html#leqnSn"><span class="id" title="lemma">leqnSn</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#ord_max"><span class="id" title="definition">ord_max</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_sumType"><span class="id" title="lemma">big_sumType</span></a> (<span class="id" title="var">I1</span> <span class="id" title="var">I2</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#I1"><span class="id" title="variable">I1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#3dcaec3b772747610227247939f96b01"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I2"><span class="id" title="variable">I2</span></a>)) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#inl"><span class="id" title="constructor">inl</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#inl"><span class="id" title="constructor">inl</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#inr"><span class="id" title="constructor">inr</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#inr"><span class="id" title="constructor">inr</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_split_ord"><span class="id" title="lemma">big_split_ord</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">I_</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">)</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#lshift"><span class="id" title="definition">lshift</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#lshift"><span class="id" title="definition">lshift</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#rshift"><span class="id" title="definition">rshift</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#rshift"><span class="id" title="definition">rshift</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#1888fbf7456ea9b1e55b1a456f115da0"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_flatten"><span class="id" title="lemma">big_flatten</span></a> <span class="id" title="var">I</span> <span class="id" title="var">rr</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#flatten"><span class="id" title="definition">flatten</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rr"><span class="id" title="variable">rr</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rr"><span class="id" title="variable">rr</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a2acafd8daeae4104c6aac163f1a7c52"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#MonoidProperties.Plain"><span class="id" title="section">Plain</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MonoidProperties.Abelian"><span class="id" title="section">Abelian</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MonoidProperties.Abelian.op"><span class="id" title="variable">op</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#com_law"><span class="id" title="record">Monoid.com_law</span></a> 1.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_big_perm"><span class="id" title="lemma">eq_big_perm</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) <span class="id" title="var">r1</span> <span class="id" title="var">r2</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.seq.html#perm_eq"><span class="id" title="definition">perm_eq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_uniq"><span class="id" title="lemma">big_uniq</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.seq.html#uniq"><span class="id" title="definition">uniq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_rem"><span class="id" title="lemma">big_rem</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) <span class="id" title="var">r</span> <span class="id" title="var">x</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> 1<a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#rem"><span class="id" title="definition">rem</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#y"><span class="id" title="variable">y</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_undup"><span class="id" title="lemma">big_undup</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idempotent"><span class="id" title="definition">idempotent</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#undup"><span class="id" title="definition">undup</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_big_idem"><span class="id" title="lemma">eq_big_idem</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) (<span class="id" title="var">r1</span> <span class="id" title="var">r2</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idempotent"><span class="id" title="definition">idempotent</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_undup_iterop_count"><span class="id" title="lemma">big_undup_iterop_count</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#undup"><span class="id" title="definition">undup</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iterop"><span class="id" title="definition">iterop</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#count_mem"><span class="id" title="abbreviation">count_mem</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) 1<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_split"><span class="id" title="lemma">big_split</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F1</span> <span class="id" title="var">F2</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigID"><span class="id" title="lemma">bigID</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">a</span> <span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">×</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigU"><span class="id" title="lemma">bigU</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1ffbd835ce363931871902ea52bd9208"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1ffbd835ce363931871902ea52bd9208"><span class="id" title="notation">predU</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1ffbd835ce363931871902ea52bd9208"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1ffbd835ce363931871902ea52bd9208"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigD1"><span class="id" title="lemma">bigD1</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">j</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigD1_seq"><span class="id" title="lemma">bigD1_seq</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">j</span> <span class="id" title="var">F</span> : <br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#uniq"><span class="id" title="definition">uniq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#b25ccbc213967b87d966fdb2702413fa"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardD1x"><span class="id" title="lemma">cardD1x</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">j</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#SimplPred"><span class="id" title="definition">SimplPred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#b8288f36a4177926116f8c7429ee1d26"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#b8288f36a4177926116f8c7429ee1d26"><span class="id" title="notation">pred</span></a> <span class="id" title="var">i</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#b8288f36a4177926116f8c7429ee1d26"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#b8288f36a4177926116f8c7429ee1d26"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#b8288f36a4177926116f8c7429ee1d26"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="partition_big"><span class="id" title="lemma">partition_big</span></a> (<span class="id" title="var">I</span> <span class="id" title="var">J</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">p</span> (<span class="id" title="var">Q</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="reindex_onto"><span class="id" title="lemma">reindex_onto</span></a> (<span class="id" title="var">I</span> <span class="id" title="var">J</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">h</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">h'</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#h'"><span class="id" title="variable">h'</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#h'"><span class="id" title="variable">h'</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="reindex"><span class="id" title="lemma">reindex</span></a> (<span class="id" title="var">I</span> <span class="id" title="var">J</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">h</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#59b0bfb23a642e2d3d15d13178fc2b18"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#59b0bfb23a642e2d3d15d13178fc2b18"><span class="id" title="notation">on</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">pred</span></a> <span class="id" title="var">i</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#59b0bfb23a642e2d3d15d13178fc2b18"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#59b0bfb23a642e2d3d15d13178fc2b18"><span class="id" title="notation">bijective</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#59b0bfb23a642e2d3d15d13178fc2b18"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="reindex_inj"><span class="id" title="lemma">reindex_inj</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">h</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_nat_rev"><span class="id" title="lemma">big_nat_rev</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">P</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>)<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pair_big_dep"><span class="id" title="lemma">pair_big_dep</span></a> (<span class="id" title="var">I</span> <span class="id" title="var">J</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">Q</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">p</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pair_big"><span class="id" title="lemma">pair_big</span></a> (<span class="id" title="var">I</span> <span class="id" title="var">J</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">Q</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">p</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pair_bigA"><span class="id" title="lemma">pair_bigA</span></a> (<span class="id" title="var">I</span> <span class="id" title="var">J</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#MonoidProperties.R"><span class="id" title="variable">R</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_j</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_p</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exchange_big_dep"><span class="id" title="lemma">exchange_big_dep</span></a> <span class="id" title="var">I</span> <span class="id" title="var">J</span> <span class="id" title="var">rI</span> <span class="id" title="var">rJ</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">Q</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">xQ</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> <span class="id" title="var">j</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#xQ"><span class="id" title="variable">xQ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rI"><span class="id" title="variable">rI</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rJ"><span class="id" title="variable">rJ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rJ"><span class="id" title="variable">rJ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#xQ"><span class="id" title="variable">xQ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rI"><span class="id" title="variable">rI</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exchange_big"><span class="id" title="lemma">exchange_big</span></a> <span class="id" title="var">I</span> <span class="id" title="var">J</span> <span class="id" title="var">rI</span> <span class="id" title="var">rJ</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">Q</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rI"><span class="id" title="variable">rI</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rJ"><span class="id" title="variable">rJ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rJ"><span class="id" title="variable">rJ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rI"><span class="id" title="variable">rI</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exchange_big_dep_nat"><span class="id" title="lemma">exchange_big_dep_nat</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">n1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n2</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<span class="id" title="var">Q</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#rel"><span class="id" title="definition">rel</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">xQ</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> <span class="id" title="var">j</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#a37ed901e2f16b7d06c569763fc8034f"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#xQ"><span class="id" title="variable">xQ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#xQ"><span class="id" title="variable">xQ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exchange_big_nat"><span class="id" title="lemma">exchange_big_nat</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">n1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n2</span> (<span class="id" title="var">P</span> <span class="id" title="var">Q</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#c82197763a0dd496120819d8f365a45e"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#MonoidProperties.Abelian"><span class="id" title="section">Abelian</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#MonoidProperties"><span class="id" title="section">MonoidProperties</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Distributivity"><span class="id" title="section">Distributivity</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">Monoid.Theory</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="Distributivity.R"><span class="id" title="variable">R</span></a> : <span class="id" title="keyword">Type</span>.<br/>
+<span class="id" title="keyword">Variables</span> <a name="Distributivity.zero"><span class="id" title="variable">zero</span></a> <a name="Distributivity.one"><span class="id" title="variable">one</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Distributivity.R"><span class="id" title="variable">R</span></a>.<br/>
+<span class="id" title="keyword">Variable</span> <a name="Distributivity.times"><span class="id" title="variable">times</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#mul_law"><span class="id" title="record">Monoid.mul_law</span></a> 0.<br/>
+<span class="id" title="keyword">Variable</span> <a name="Distributivity.plus"><span class="id" title="variable">plus</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#add_law"><span class="id" title="record">Monoid.add_law</span></a> 0 <a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_distrl"><span class="id" title="lemma">big_distrl</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">a</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#0de65197779b9e6d3f7f01b4ff4cdcc5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#0de65197779b9e6d3f7f01b4ff4cdcc5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_distrr"><span class="id" title="lemma">big_distrr</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">a</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#0de65197779b9e6d3f7f01b4ff4cdcc5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#0de65197779b9e6d3f7f01b4ff4cdcc5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_distrlr"><span class="id" title="lemma">big_distrlr</span></a> <span class="id" title="var">I</span> <span class="id" title="var">J</span> <span class="id" title="var">rI</span> <span class="id" title="var">rJ</span> (<span class="id" title="var">pI</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">pJ</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) <span class="id" title="var">F</span> <span class="id" title="var">G</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#0de65197779b9e6d3f7f01b4ff4cdcc5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rI"><span class="id" title="variable">rI</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#pI"><span class="id" title="variable">pI</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0de65197779b9e6d3f7f01b4ff4cdcc5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#0de65197779b9e6d3f7f01b4ff4cdcc5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#0de65197779b9e6d3f7f01b4ff4cdcc5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rJ"><span class="id" title="variable">rJ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#pJ"><span class="id" title="variable">pJ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0de65197779b9e6d3f7f01b4ff4cdcc5"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rI"><span class="id" title="variable">rI</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#pI"><span class="id" title="variable">pI</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#rJ"><span class="id" title="variable">rJ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#pJ"><span class="id" title="variable">pJ</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#0de65197779b9e6d3f7f01b4ff4cdcc5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_distr_big_dep"><span class="id" title="lemma">big_distr_big_dep</span></a> (<span class="id" title="var">I</span> <span class="id" title="var">J</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">j0</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">Q</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">f</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#pfamily"><span class="id" title="abbreviation">pfamily</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j0"><span class="id" title="variable">j0</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_distr_big"><span class="id" title="lemma">big_distr_big</span></a> (<span class="id" title="var">I</span> <span class="id" title="var">J</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">j0</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">Q</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">f</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#pffun_on"><span class="id" title="abbreviation">pffun_on</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j0"><span class="id" title="variable">j0</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigA_distr_big_dep"><span class="id" title="lemma">bigA_distr_big_dep</span></a> (<span class="id" title="var">I</span> <span class="id" title="var">J</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">Q</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">f</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#family"><span class="id" title="abbreviation">family</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigA_distr_big"><span class="id" title="lemma">bigA_distr_big</span></a> (<span class="id" title="var">I</span> <span class="id" title="var">J</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">Q</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Distributivity.R"><span class="id" title="variable">R</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">f</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#ffun_on"><span class="id" title="abbreviation">ffun_on</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#Q"><span class="id" title="variable">Q</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigA_distr_bigA"><span class="id" title="lemma">bigA_distr_bigA</span></a> (<span class="id" title="var">I</span> <span class="id" title="var">J</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#2b498ed56c787a10ac9ddec5d1217999"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">f</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#655a4d43a7533efe0ff4390672645ee4"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#Distributivity"><span class="id" title="section">Distributivity</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="BigBool"><span class="id" title="section">BigBool</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="BigBool.Seq"><span class="id" title="section">Seq</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="BigBool.Seq.I"><span class="id" title="variable">I</span></a> : <span class="id" title="keyword">Type</span>) (<a name="BigBool.Seq.r"><span class="id" title="variable">r</span></a> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<a name="BigBool.Seq.P"><span class="id" title="variable">P</span></a> <a name="BigBool.Seq.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_has"><span class="id" title="lemma">big_has</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#orb"><span class="id" title="definition">orb</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.r"><span class="id" title="variable">r</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_all"><span class="id" title="lemma">big_all</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#andb"><span class="id" title="definition">andb</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.r"><span class="id" title="variable">r</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_has_cond"><span class="id" title="lemma">big_has_cond</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#orb"><span class="id" title="definition">orb</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predI"><span class="id" title="definition">predI</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.B"><span class="id" title="variable">B</span></a>) <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.r"><span class="id" title="variable">r</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_all_cond"><span class="id" title="lemma">big_all_cond</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#andb"><span class="id" title="definition">andb</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">pred</span></a> <span class="id" title="var">i</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3b17cb5f3a16fa64a62421f68786f750"><span class="id" title="notation">==&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq.r"><span class="id" title="variable">r</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.Seq"><span class="id" title="section">Seq</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="BigBool.FinType"><span class="id" title="section">FinType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="BigBool.FinType.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="BigBool.FinType.P"><span class="id" title="variable">P</span></a> <a name="BigBool.FinType.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_orE"><span class="id" title="lemma">big_orE</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#orb"><span class="id" title="definition">orb</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.FinType.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.FinType.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#2622a9930e3eed1321ab6ed4605c7142"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#2622a9930e3eed1321ab6ed4605c7142"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#2622a9930e3eed1321ab6ed4605c7142"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#2622a9930e3eed1321ab6ed4605c7142"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.FinType.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#2622a9930e3eed1321ab6ed4605c7142"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.FinType.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#2622a9930e3eed1321ab6ed4605c7142"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_andE"><span class="id" title="lemma">big_andE</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#andb"><span class="id" title="definition">andb</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.FinType.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.FinType.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.FinType.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.FinType.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool.FinType"><span class="id" title="section">FinType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#BigBool"><span class="id" title="section">BigBool</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="NatConst"><span class="id" title="section">NatConst</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="NatConst.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="NatConst.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sum_nat_const"><span class="id" title="lemma">sum_nat_const</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#NatConst.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#NatConst.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sum1_card"><span class="id" title="lemma">sum1_card</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#NatConst.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">)</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#NatConst.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sum1_count"><span class="id" title="lemma">sum1_count</span></a> <span class="id" title="var">J</span> (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) (<span class="id" title="var">a</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) : <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">)</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#count"><span class="id" title="definition">count</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sum1_size"><span class="id" title="lemma">sum1_size</span></a> <span class="id" title="var">J</span> (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#J"><span class="id" title="variable">J</span></a>) : <a class="idref" href="mathcomp.ssreflect.bigop.html#b37dc668e343eb17a55a9974b7f85ec0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#b37dc668e343eb17a55a9974b7f85ec0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#b37dc668e343eb17a55a9974b7f85ec0"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#b37dc668e343eb17a55a9974b7f85ec0"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#b37dc668e343eb17a55a9974b7f85ec0"><span class="id" title="notation">)</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prod_nat_const"><span class="id" title="lemma">prod_nat_const</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#3dbd7b8338ea3441287f4a7697721736"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#3dbd7b8338ea3441287f4a7697721736"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#3dbd7b8338ea3441287f4a7697721736"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#3dbd7b8338ea3441287f4a7697721736"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#NatConst.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#3dbd7b8338ea3441287f4a7697721736"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#NatConst.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sum_nat_const_nat"><span class="id" title="lemma">sum_nat_const_nat</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#01dc18dd2300d727116181d8b66f2939"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#01dc18dd2300d727116181d8b66f2939"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#01dc18dd2300d727116181d8b66f2939"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#01dc18dd2300d727116181d8b66f2939"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#01dc18dd2300d727116181d8b66f2939"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#01dc18dd2300d727116181d8b66f2939"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prod_nat_const_nat"><span class="id" title="lemma">prod_nat_const_nat</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#NatConst"><span class="id" title="section">NatConst</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="leqif_sum"><span class="id" title="lemma">leqif_sum</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">E1</span> <span class="id" title="var">E2</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E1"><span class="id" title="variable">E1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E2"><span class="id" title="variable">E2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">iff</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E1"><span class="id" title="variable">E1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E2"><span class="id" title="variable">E2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">iff</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="leq_sum"><span class="id" title="lemma">leq_sum</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">E1</span> <span class="id" title="var">E2</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E1"><span class="id" title="variable">E1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E2"><span class="id" title="variable">E2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E1"><span class="id" title="variable">E1</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E2"><span class="id" title="variable">E2</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sum_nat_eq0"><span class="id" title="lemma">sum_nat_eq0</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.fintype.html#71aa9b4d33ee64c2b31b6cd545727657"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodn_cond_gt0"><span class="id" title="lemma">prodn_cond_gt0</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> 0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> 0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodn_gt0"><span class="id" title="lemma">prodn_gt0</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, 0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> 0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="leq_bigmax_cond"><span class="id" title="lemma">leq_bigmax_cond</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> <span class="id" title="var">i0</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">max_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="leq_bigmax"><span class="id" title="lemma">leq_bigmax</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">F</span> (<span class="id" title="var">i0</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) : <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#ed091aa88b7a5d97af8e68b6798719dd"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ed091aa88b7a5d97af8e68b6798719dd"><span class="id" title="notation">max_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigmax_leqP"><span class="id" title="lemma">bigmax_leqP</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">m</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">max_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigmax_sup"><span class="id" title="lemma">bigmax_sup</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">i0</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">m</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">max_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigmax_eq_arg"><span class="id" title="lemma">bigmax_eq_arg</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">i0</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">max_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#6a12e2dc5e799150a1c766642a6206ec"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#530d0fafa5c3030eba99142a9472fedc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#530d0fafa5c3030eba99142a9472fedc"><span class="id" title="notation">arg</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#530d0fafa5c3030eba99142a9472fedc"><span class="id" title="notation">max_</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#530d0fafa5c3030eba99142a9472fedc"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#530d0fafa5c3030eba99142a9472fedc"><span class="id" title="notation">&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#530d0fafa5c3030eba99142a9472fedc"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#530d0fafa5c3030eba99142a9472fedc"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#530d0fafa5c3030eba99142a9472fedc"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_bigmax_cond"><span class="id" title="lemma">eq_bigmax_cond</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">{</span></a><span class="id" title="var">i0</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#71d58bf7fdcf47f002b51de38c69e9d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#71d58bf7fdcf47f002b51de38c69e9d5"><span class="id" title="notation">max_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#71d58bf7fdcf47f002b51de38c69e9d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#71d58bf7fdcf47f002b51de38c69e9d5"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#71d58bf7fdcf47f002b51de38c69e9d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_bigmax"><span class="id" title="lemma">eq_bigmax</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">{</span></a><span class="id" title="var">i0</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#ed091aa88b7a5d97af8e68b6798719dd"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ed091aa88b7a5d97af8e68b6798719dd"><span class="id" title="notation">max_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expn_sum"><span class="id" title="lemma">expn_sum</span></a> <span class="id" title="var">m</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="dvdn_biglcmP"><span class="id" title="lemma">dvdn_biglcmP</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.div.html#lcmn"><span class="id" title="definition">lcmn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="biglcmn_sup"><span class="id" title="lemma">biglcmn_sup</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">i0</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.div.html#lcmn"><span class="id" title="definition">lcmn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="dvdn_biggcdP"><span class="id" title="lemma">dvdn_biggcdP</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.div.html#gcdn"><span class="id" title="definition">gcdn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="biggcdn_inf"><span class="id" title="lemma">biggcdn_inf</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">i0</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.div.html#gcdn"><span class="id" title="definition">gcdn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>0<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#m"><span class="id" title="variable">m</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Unset Implicit Arguments</span>.<br/>
+</div>
+</div>
+
+<div id="footer">
+<hr/><a href="index.html">Index</a><hr/>This page has been generated by <a href="http://coq.inria.fr/">coqdoc</a>
+</div>
+
+</div>
+
+</body>
+</html> \ No newline at end of file