aboutsummaryrefslogtreecommitdiff
path: root/docs/htmldoc/mathcomp.ssreflect.tuple.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/htmldoc/mathcomp.ssreflect.tuple.html')
-rw-r--r--docs/htmldoc/mathcomp.ssreflect.tuple.html222
1 files changed, 117 insertions, 105 deletions
diff --git a/docs/htmldoc/mathcomp.ssreflect.tuple.html b/docs/htmldoc/mathcomp.ssreflect.tuple.html
index 1dd43d4..4a62053 100644
--- a/docs/htmldoc/mathcomp.ssreflect.tuple.html
+++ b/docs/htmldoc/mathcomp.ssreflect.tuple.html
@@ -21,7 +21,6 @@
<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/>
<span class="id" title="keyword">Set Implicit Arguments</span>.<br/>
@@ -64,13 +63,13 @@
<span class="id" title="keyword">Section</span> <a name="Def"><span class="id" title="section">Def</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Variables</span> (<a name="Def.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#nat"><span class="id" title="inductive">nat</span></a>) (<a name="Def.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Def.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="Def.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>).<br/>
<br/>
-<span class="id" title="keyword">Structure</span> <a name="tuple_of"><span class="id" title="record">tuple_of</span></a> : <span class="id" title="keyword">Type</span> := <a name="Tuple"><span class="id" title="constructor">Tuple</span></a> {<a name="tval"><span class="id" title="projection">tval</span></a> :&gt; <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#Def.T"><span class="id" title="variable">T</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#tval"><span class="id" title="method">tval</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#Def.n"><span class="id" title="variable">n</span></a>}.<br/>
+<span class="id" title="keyword">Structure</span> <a name="tuple_of"><span class="id" title="record">tuple_of</span></a> : <span class="id" title="keyword">Type</span> := <a name="Tuple"><span class="id" title="constructor">Tuple</span></a> {<a name="tval"><span class="id" title="projection">tval</span></a> :&gt; <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#Def.T"><span class="id" title="variable">T</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#tval"><span class="id" title="method">tval</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#Def.n"><span class="id" title="variable">n</span></a>}.<br/>
<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_subType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">subType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">for</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#tval"><span class="id" title="projection">tval</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_subType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c2d02b544d823cdc1e1e08de552cdba4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#c2d02b544d823cdc1e1e08de552cdba4"><span class="id" title="notation">subType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c2d02b544d823cdc1e1e08de552cdba4"><span class="id" title="notation">for</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#tval"><span class="id" title="projection">tval</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#c2d02b544d823cdc1e1e08de552cdba4"><span class="id" title="notation">]</span></a>.<br/>
<br/>
<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_of"><span class="id" title="record">tuple_of</span></a>.<br/>
@@ -79,61 +78,61 @@
<span class="id" title="keyword">Definition</span> <a name="tsize"><span class="id" title="definition">tsize</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_of"><span class="id" title="record">tuple_of</span></a> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Def.n"><span class="id" title="variable">n</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="size_tuple"><span class="id" title="lemma">size_tuple</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#Def.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="size_tuple"><span class="id" title="lemma">size_tuple</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#Def.n"><span class="id" title="variable">n</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tnth_default"><span class="id" title="lemma">tnth_default</span></a> <span class="id" title="var">t</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_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.tuple.html#Def.T"><span class="id" title="variable">T</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tnth_default"><span class="id" title="lemma">tnth_default</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#Def.T"><span class="id" title="variable">T</span></a>.<br/>
<br/>
<span class="id" title="keyword">Definition</span> <a name="tnth"><span class="id" title="definition">tnth</span></a> <span class="id" title="var">t</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#nth"><span class="id" title="definition">nth</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tnth_default"><span class="id" title="lemma">tnth_default</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tnth_nth"><span class="id" title="lemma">tnth_nth</span></a> <span class="id" title="var">x</span> <span class="id" title="var">t</span> <span class="id" title="var">i</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#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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#nth"><span class="id" title="definition">nth</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tnth_nth"><span class="id" title="lemma">tnth_nth</span></a> <span class="id" title="var">x</span> <span class="id" title="var">t</span> <span class="id" title="var">i</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#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#nth"><span class="id" title="definition">nth</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="map_tnth_enum"><span class="id" title="lemma">map_tnth_enum</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</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.tuple.html#t"><span class="id" title="variable">t</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.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_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.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_tnth_enum"><span class="id" title="lemma">map_tnth_enum</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</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.tuple.html#t"><span class="id" title="variable">t</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.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="eq_from_tnth"><span class="id" title="lemma">eq_from_tnth</span></a> <span class="id" title="var">t1</span> <span class="id" title="var">t2</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#t1"><span class="id" title="variable">t1</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.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t2"><span class="id" title="variable">t2</span></a> <a class="idref" href="http://coq.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.tuple.html#t1"><span class="id" title="variable">t1</span></a> <a class="idref" href="http://coq.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.tuple.html#t2"><span class="id" title="variable">t2</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_from_tnth"><span class="id" title="lemma">eq_from_tnth</span></a> <span class="id" title="var">t1</span> <span class="id" title="var">t2</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#t1"><span class="id" title="variable">t1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t2"><span class="id" title="variable">t2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t1"><span class="id" title="variable">t1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t2"><span class="id" title="variable">t2</span></a>.<br/>
<br/>
<span class="id" title="keyword">Definition</span> <a name="tuple"><span class="id" title="definition">tuple</span></a> <span class="id" title="var">t</span> <span class="id" title="var">mkT</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_of"><span class="id" title="record">tuple_of</span></a> :=<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.tuple.html#mkT"><span class="id" title="variable">mkT</span></a> (<span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> <span class="id" title="var">_</span> <span class="id" title="var">tP</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#Def.n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">tP</span>).<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.tuple.html#mkT"><span class="id" title="variable">mkT</span></a> (<span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> <span class="id" title="var">_</span> <span class="id" title="var">tP</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#Def.n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">tP</span>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tupleE"><span class="id" title="lemma">tupleE</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple"><span class="id" title="definition">tuple</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">sP</span> ⇒ @<a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#sP"><span class="id" title="variable">sP</span></a>) <a class="idref" href="http://coq.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.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tupleE"><span class="id" title="lemma">tupleE</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple"><span class="id" title="definition">tuple</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">sP</span> ⇒ @<a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#sP"><span class="id" title="variable">sP</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#Def"><span class="id" title="section">Def</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Notation</span> <a name="d8866adbd4a602b7b4cc275d73486ace"><span class="id" title="notation">&quot;</span></a>n .-tuple" := (<a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_of"><span class="id" title="record">tuple_of</span></a> <span class="id" title="var">n</span>)<br/>
+<span class="id" title="keyword">Notation</span> <a name="c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">&quot;</span></a>n .-tuple" := (<a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_of"><span class="id" title="record">tuple_of</span></a> <span class="id" title="var">n</span>)<br/>
&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "n .-tuple") : <span class="id" title="var">type_scope</span>.<br/>
<br/>
-<span class="id" title="keyword">Notation</span> <a name="ac6e2e021da54ee5885e636c6c87966d"><span class="id" title="notation">&quot;</span></a>{ 'tuple' n 'of' T }" := (<span class="id" title="var">n</span><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> <span class="id" title="var">T</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predArgType"><span class="id" title="definition">predArgType</span></a>)<br/>
+<span class="id" title="keyword">Notation</span> <a name="e6755b713866d9cfa46c6af439dadcc7"><span class="id" title="notation">&quot;</span></a>{ 'tuple' n 'of' T }" := (<span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <span class="id" title="var">T</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#predArgType"><span class="id" title="definition">predArgType</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">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">form_scope</span>.<br/>
<br/>
-<span class="id" title="keyword">Notation</span> <a name="a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">&quot;</span></a>[ 'tuple' 'of' s ]" := (<a class="idref" href="mathcomp.ssreflect.tuple.html#tuple"><span class="id" title="definition">tuple</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">sP</span> ⇒ @<a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">s</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#sP"><span class="id" title="variable">sP</span></a>))<br/>
+<span class="id" title="keyword">Notation</span> <a name="1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">&quot;</span></a>[ 'tuple' 'of' s ]" := (<a class="idref" href="mathcomp.ssreflect.tuple.html#tuple"><span class="id" title="definition">tuple</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">sP</span> ⇒ @<a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">s</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#sP"><span class="id" title="variable">sP</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> "[ 'tuple' 'of' s ]") : <span class="id" title="var">form_scope</span>.<br/>
<br/>
-<span class="id" title="keyword">Notation</span> <a name="7f12dc1a1a5a7ee83220e323c866673f"><span class="id" title="notation">&quot;</span></a>[ 'tnth' t i ]" := (<a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <span class="id" title="var">t</span> (@<a class="idref" href="mathcomp.ssreflect.fintype.html#Ordinal"><span class="id" title="constructor">Ordinal</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tsize"><span class="id" title="definition">tsize</span></a> <span class="id" title="var">t</span>) <span class="id" title="var">i</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</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>)))<br/>
+<span class="id" title="keyword">Notation</span> <a name="1e7a8c2b96d06dcd9add7e63bc21c575"><span class="id" title="notation">&quot;</span></a>[ 'tnth' t i ]" := (<a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <span class="id" title="var">t</span> (@<a class="idref" href="mathcomp.ssreflect.fintype.html#Ordinal"><span class="id" title="constructor">Ordinal</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tsize"><span class="id" title="definition">tsize</span></a> <span class="id" title="var">t</span>) <span class="id" title="var">i</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</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">t</span>, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "[ 'tnth' t i ]") : <span class="id" title="var">form_scope</span>.<br/>
<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">nil_tuple</span> <span class="id" title="var">T</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#isT"><span class="id" title="definition">isT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> @<a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0).<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cons_tuple</span> <span class="id" title="var">n</span> <span class="id" title="var">T</span> <span class="id" title="var">x</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#T"><span class="id" title="variable">T</span></a>) :=<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#valP"><span class="id" title="lemma">valP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">nil_tuple</span> <span class="id" title="var">T</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#isT"><span class="id" title="definition">isT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> @<a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cons_tuple</span> <span class="id" title="var">n</span> <span class="id" title="var">T</span> <span class="id" title="var">x</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#valP"><span class="id" title="lemma">valP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#407cde5b61fbf27196d1a7c5a475e083"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Notation</span> <a name="b96c5fac4ea7ac478a42dc9d76e9dbb3"><span class="id" title="notation">&quot;</span></a>[ 'tuple' x1 ; .. ; xn ]" := <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <span class="id" title="var">x1</span> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> .. <a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</span></a> <span class="id" title="var">xn</span><a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</span></a> ..<a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">]</span></a><br/>
+<span class="id" title="keyword">Notation</span> <a name="44d42eed9f717544480811f482f3c650"><span class="id" title="notation">&quot;</span></a>[ 'tuple' x1 ; .. ; xn ]" := <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">of</span></a> <span class="id" title="var">x1</span> <a class="idref" href="mathcomp.ssreflect.seq.html#407cde5b61fbf27196d1a7c5a475e083"><span class="id" title="notation">::</span></a> .. <a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <span class="id" title="var">xn</span><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a> ..<a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">]</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> "[ 'tuple' '[' x1 ; '/' .. ; '/' xn ']' ]")<br/>
&nbsp;&nbsp;: <span class="id" title="var">form_scope</span>.<br/>
<br/>
-<span class="id" title="keyword">Notation</span> <a name="95c7c3a184a96e438da77f66df3029e3"><span class="id" title="notation">&quot;</span></a>[ 'tuple' ]" := <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">]</span></a><br/>
+<span class="id" title="keyword">Notation</span> <a name="40a2c8face21f18a7058a916d5f839b8"><span class="id" title="notation">&quot;</span></a>[ 'tuple' ]" := <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">]</span></a><br/>
(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'tuple' ]") : <span class="id" title="var">form_scope</span>.<br/>
<br/>
@@ -146,31 +145,31 @@
<span class="id" title="keyword">Definition</span> <a name="in_tuple"><span class="id" title="definition">in_tuple</span></a> (<span class="id" title="var">s</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#CastTuple.T"><span class="id" title="variable">T</span></a>) := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#eqxx"><span class="id" title="abbreviation">eqxx</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.tuple.html#s"><span class="id" title="variable">s</span></a>)).<br/>
<br/>
-<span class="id" title="keyword">Definition</span> <a name="tcast"><span class="id" title="definition">tcast</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">eq_mn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a>) <span class="id" title="var">t</span> :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">let</span>: <span class="id" title="var">erefl</span> <span class="id" title="tactic">in</span> <span class="id" title="var">_</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> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#CastTuple.T"><span class="id" title="variable">T</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="tcast"><span class="id" title="definition">tcast</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">eq_mn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a>) <span class="id" title="var">t</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span>: <span class="id" title="var">erefl</span> <span class="id" title="tactic">in</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#CastTuple.T"><span class="id" title="variable">T</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tcastE"><span class="id" title="lemma">tcastE</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">eq_mn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a>) <span class="id" title="var">t</span> <span class="id" title="var">i</span> :<br/>
-&nbsp;&nbsp;<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#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#cast_ord"><span class="id" title="definition">cast_ord</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#esym"><span class="id" title="definition">esym</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tcastE"><span class="id" title="lemma">tcastE</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">eq_mn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a>) <span class="id" title="var">t</span> <span class="id" title="var">i</span> :<br/>
+&nbsp;&nbsp;<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#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <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#t"><span class="id" title="variable">t</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#cast_ord"><span class="id" title="definition">cast_ord</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#esym"><span class="id" title="definition">esym</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tcast_id"><span class="id" title="lemma">tcast_id</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">eq_nn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#n"><span class="id" title="variable">n</span></a>) <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_nn"><span class="id" title="variable">eq_nn</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tcast_id"><span class="id" title="lemma">tcast_id</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">eq_nn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a>) <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_nn"><span class="id" title="variable">eq_nn</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tcastK"><span class="id" title="lemma">tcastK</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">eq_mn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a>) (<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#esym"><span class="id" title="definition">esym</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a>)).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tcastK"><span class="id" title="lemma">tcastK</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">eq_mn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a>) (<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#esym"><span class="id" title="definition">esym</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a>)).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tcastKV"><span class="id" title="lemma">tcastKV</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">eq_mn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#esym"><span class="id" title="definition">esym</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a>)) (<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tcastKV"><span class="id" title="lemma">tcastKV</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">eq_mn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#esym"><span class="id" title="definition">esym</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a>)) (<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tcast_trans"><span class="id" title="lemma">tcast_trans</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">eq_mn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a>) (<span class="id" title="var">eq_np</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#p"><span class="id" title="variable">p</span></a>) <span class="id" title="var">t</span>:<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#etrans"><span class="id" title="definition">etrans</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_np"><span class="id" title="variable">eq_np</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_np"><span class="id" title="variable">eq_np</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tcast_trans"><span class="id" title="lemma">tcast_trans</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">eq_mn</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a>) (<span class="id" title="var">eq_np</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#p"><span class="id" title="variable">p</span></a>) <span class="id" title="var">t</span>:<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#etrans"><span class="id" title="definition">etrans</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_np"><span class="id" title="variable">eq_np</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_np"><span class="id" title="variable">eq_np</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#eq_mn"><span class="id" title="variable">eq_mn</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tvalK"><span class="id" title="lemma">tvalK</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#CastTuple.T"><span class="id" title="variable">T</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.tuple.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.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#esym"><span class="id" title="definition">esym</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#size_tuple"><span class="id" title="lemma">size_tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>)) <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tvalK"><span class="id" title="lemma">tvalK</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#CastTuple.T"><span class="id" title="variable">T</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#tcast"><span class="id" title="definition">tcast</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#esym"><span class="id" title="definition">esym</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#size_tuple"><span class="id" title="lemma">size_tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>)) <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="in_tupleE"><span class="id" title="lemma">in_tupleE</span></a> <span class="id" title="var">s</span> : <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.tuple.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</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.tuple.html#CastTuple.T"><span class="id" title="variable">T</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_tupleE"><span class="id" title="lemma">in_tupleE</span></a> <span class="id" title="var">s</span> : <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.tuple.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:&gt;</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.tuple.html#CastTuple.T"><span class="id" title="variable">T</span></a>. <br/>
<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#CastTuple"><span class="id" title="section">CastTuple</span></a>.<br/>
@@ -179,123 +178,123 @@
<span class="id" title="keyword">Section</span> <a name="SeqTuple"><span class="id" title="section">SeqTuple</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Variables</span> (<a name="SeqTuple.n"><span class="id" title="variable">n</span></a> <a name="SeqTuple.m"><span class="id" title="variable">m</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>) (<a name="SeqTuple.T"><span class="id" title="variable">T</span></a> <a name="SeqTuple.U"><span class="id" title="variable">U</span></a> <a name="SeqTuple.rT"><span class="id" title="variable">rT</span></a> : <span class="id" title="keyword">Type</span>).<br/>
-<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.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.tuple.html#SeqTuple.T"><span class="id" title="variable">T</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="SeqTuple.n"><span class="id" title="variable">n</span></a> <a name="SeqTuple.m"><span class="id" title="variable">m</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="SeqTuple.T"><span class="id" title="variable">T</span></a> <a name="SeqTuple.U"><span class="id" title="variable">U</span></a> <a name="SeqTuple.rT"><span class="id" title="variable">rT</span></a> : <span class="id" title="keyword">Type</span>).<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.T"><span class="id" title="variable">T</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="rcons_tupleP"><span class="id" title="lemma">rcons_tupleP</span></a> <span class="id" title="var">t</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#rcons"><span class="id" title="definition">rcons</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rcons_tupleP"><span class="id" title="lemma">rcons_tupleP</span></a> <span class="id" title="var">t</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#rcons"><span class="id" title="definition">rcons</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rcons_tuple</span> <span class="id" title="var">t</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#rcons_tupleP"><span class="id" title="lemma">rcons_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="nseq_tupleP"><span class="id" title="lemma">nseq_tupleP</span></a> <span class="id" title="var">x</span> : @<a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.T"><span class="id" title="variable">T</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.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="nseq_tupleP"><span class="id" title="lemma">nseq_tupleP</span></a> <span class="id" title="var">x</span> : @<a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.T"><span class="id" title="variable">T</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.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">nseq_tuple</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#nseq_tupleP"><span class="id" title="lemma">nseq_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="iota_tupleP"><span class="id" title="lemma">iota_tupleP</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.seq.html#iota"><span class="id" title="definition">iota</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="iota_tupleP"><span class="id" title="lemma">iota_tupleP</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.seq.html#iota"><span class="id" title="definition">iota</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">iota_tuple</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#iota_tupleP"><span class="id" title="lemma">iota_tupleP</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="behead_tupleP"><span class="id" title="lemma">behead_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#behead"><span class="id" title="definition">behead</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.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>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="behead_tupleP"><span class="id" title="lemma">behead_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#behead"><span class="id" title="definition">behead</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><span class="id" title="notation">.-1</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">behead_tuple</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#behead_tupleP"><span class="id" title="lemma">behead_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="belast_tupleP"><span class="id" title="lemma">belast_tupleP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#belast"><span class="id" title="definition">belast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="belast_tupleP"><span class="id" title="lemma">belast_tupleP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#belast"><span class="id" title="definition">belast</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">belast_tuple</span> <span class="id" title="var">x</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#belast_tupleP"><span class="id" title="lemma">belast_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="cat_tupleP"><span class="id" title="lemma">cat_tupleP</span></a> <span class="id" title="var">t</span> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</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.tuple.html#SeqTuple.T"><span class="id" title="variable">T</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cat_tupleP"><span class="id" title="lemma">cat_tupleP</span></a> <span class="id" title="var">t</span> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.T"><span class="id" title="variable">T</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#93e0a78b945d3f9f22195c004c67aa36"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cat_tuple</span> <span class="id" title="var">t</span> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#cat_tupleP"><span class="id" title="lemma">cat_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#u"><span class="id" title="variable">u</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="take_tupleP"><span class="id" title="lemma">take_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#take"><span class="id" title="definition">take</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#minn"><span class="id" title="definition">minn</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="take_tupleP"><span class="id" title="lemma">take_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#take"><span class="id" title="definition">take</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#minn"><span class="id" title="definition">minn</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">take_tuple</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#take_tupleP"><span class="id" title="lemma">take_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="drop_tupleP"><span class="id" title="lemma">drop_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#drop"><span class="id" title="definition">drop</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.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.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="drop_tupleP"><span class="id" title="lemma">drop_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#drop"><span class="id" title="definition">drop</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">drop_tuple</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#drop_tupleP"><span class="id" title="lemma">drop_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="rev_tupleP"><span class="id" title="lemma">rev_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#rev"><span class="id" title="definition">rev</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rev_tupleP"><span class="id" title="lemma">rev_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#rev"><span class="id" title="definition">rev</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rev_tuple</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#rev_tupleP"><span class="id" title="lemma">rev_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="rot_tupleP"><span class="id" title="lemma">rot_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#rot"><span class="id" title="definition">rot</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rot_tupleP"><span class="id" title="lemma">rot_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#rot"><span class="id" title="definition">rot</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rot_tuple</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#rot_tupleP"><span class="id" title="lemma">rot_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="rotr_tupleP"><span class="id" title="lemma">rotr_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#rotr"><span class="id" title="definition">rotr</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rotr_tupleP"><span class="id" title="lemma">rotr_tupleP</span></a> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#rotr"><span class="id" title="definition">rotr</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rotr_tuple</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#rotr_tupleP"><span class="id" title="lemma">rotr_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="map_tupleP"><span class="id" title="lemma">map_tupleP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">t</span> : @<a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.rT"><span class="id" title="variable">rT</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.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_tupleP"><span class="id" title="lemma">map_tupleP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">t</span> : @<a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.rT"><span class="id" title="variable">rT</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.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">map_tuple</span> <span class="id" title="var">f</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#map_tupleP"><span class="id" title="lemma">map_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="scanl_tupleP"><span class="id" title="lemma">scanl_tupleP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">x</span> <span class="id" title="var">t</span> : @<a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.rT"><span class="id" title="variable">rT</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#scanl"><span class="id" title="definition">scanl</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="scanl_tupleP"><span class="id" title="lemma">scanl_tupleP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">x</span> <span class="id" title="var">t</span> : @<a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.rT"><span class="id" title="variable">rT</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#scanl"><span class="id" title="definition">scanl</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">scanl_tuple</span> <span class="id" title="var">f</span> <span class="id" title="var">x</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#scanl_tupleP"><span class="id" title="lemma">scanl_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="pairmap_tupleP"><span class="id" title="lemma">pairmap_tupleP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">x</span> <span class="id" title="var">t</span> : @<a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.rT"><span class="id" title="variable">rT</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#pairmap"><span class="id" title="definition">pairmap</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pairmap_tupleP"><span class="id" title="lemma">pairmap_tupleP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">x</span> <span class="id" title="var">t</span> : @<a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.rT"><span class="id" title="variable">rT</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#pairmap"><span class="id" title="definition">pairmap</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pairmap_tuple</span> <span class="id" title="var">f</span> <span class="id" title="var">x</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#pairmap_tupleP"><span class="id" title="lemma">pairmap_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="zip_tupleP"><span class="id" title="lemma">zip_tupleP</span></a> <span class="id" title="var">t</span> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.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.tuple.html#SeqTuple.U"><span class="id" title="variable">U</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.seq.html#zip"><span class="id" title="definition">zip</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="zip_tupleP"><span class="id" title="lemma">zip_tupleP</span></a> <span class="id" title="var">t</span> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.U"><span class="id" title="variable">U</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.seq.html#zip"><span class="id" title="definition">zip</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">zip_tuple</span> <span class="id" title="var">t</span> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#zip_tupleP"><span class="id" title="lemma">zip_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#u"><span class="id" title="variable">u</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="allpairs_tupleP"><span class="id" title="lemma">allpairs_tupleP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">t</span> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</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.tuple.html#SeqTuple.U"><span class="id" title="variable">U</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.tuple.html#SeqTuple.rT"><span class="id" title="variable">rT</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#allpairs"><span class="id" title="definition">allpairs</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="allpairs_tupleP"><span class="id" title="lemma">allpairs_tupleP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">t</span> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.U"><span class="id" title="variable">U</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.tuple.html#SeqTuple.rT"><span class="id" title="variable">rT</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#allpairs"><span class="id" title="definition">allpairs</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ea2ff3d561159081cea6fb2e8113cc54"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.m"><span class="id" title="variable">m</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">allpairs_tuple</span> <span class="id" title="var">f</span> <span class="id" title="var">t</span> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#allpairs_tupleP"><span class="id" title="lemma">allpairs_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#u"><span class="id" title="variable">u</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Definition</span> <a name="thead"><span class="id" title="definition">thead</span></a> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.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.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.tuple.html#SeqTuple.T"><span class="id" title="variable">T</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.tuple.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#ord0"><span class="id" title="definition">ord0</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="thead"><span class="id" title="definition">thead</span></a> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.T"><span class="id" title="variable">T</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.tuple.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#ord0"><span class="id" title="definition">ord0</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tnth0"><span class="id" title="lemma">tnth0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">t</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#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#ord0"><span class="id" title="definition">ord0</span></a> <a class="idref" href="http://coq.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.tuple.html#x"><span class="id" title="variable">x</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tnth0"><span class="id" title="lemma">tnth0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">t</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#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#407cde5b61fbf27196d1a7c5a475e083"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#ord0"><span class="id" title="definition">ord0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="theadE"><span class="id" title="lemma">theadE</span></a> <span class="id" title="var">x</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#thead"><span class="id" title="definition">thead</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><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.tuple.html#x"><span class="id" title="variable">x</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="theadE"><span class="id" title="lemma">theadE</span></a> <span class="id" title="var">x</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#thead"><span class="id" title="definition">thead</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#407cde5b61fbf27196d1a7c5a475e083"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tuple0"><span class="id" title="lemma">tuple0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#all_equal_to"><span class="id" title="definition">all_equal_to</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#95c7c3a184a96e438da77f66df3029e3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#95c7c3a184a96e438da77f66df3029e3"><span class="id" title="notation">tuple</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#95c7c3a184a96e438da77f66df3029e3"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> 0<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.tuple.html#SeqTuple.T"><span class="id" title="variable">T</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tuple0"><span class="id" title="lemma">tuple0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#all_equal_to"><span class="id" title="definition">all_equal_to</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#40a2c8face21f18a7058a916d5f839b8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#40a2c8face21f18a7058a916d5f839b8"><span class="id" title="notation">tuple</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#40a2c8face21f18a7058a916d5f839b8"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> 0<a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.T"><span class="id" title="variable">T</span></a>).<br/>
<br/>
-<span class="id" title="keyword">CoInductive</span> <a name="tuple1_spec"><span class="id" title="inductive">tuple1_spec</span></a> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.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.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.tuple.html#SeqTuple.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> <span class="id" title="keyword">Type</span> :=<br/>
-&nbsp;&nbsp;<a name="Tuple1spec"><span class="id" title="constructor">Tuple1spec</span></a> <span class="id" title="var">x</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple1_spec"><span class="id" title="inductive">tuple1_spec</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Variant</span> <a name="tuple1_spec"><span class="id" title="inductive">tuple1_spec</span></a> : <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">Type</span> :=<br/>
+&nbsp;&nbsp;<a name="Tuple1spec"><span class="id" title="constructor">Tuple1spec</span></a> <span class="id" title="var">x</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple1_spec"><span class="id" title="inductive">tuple1_spec</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#407cde5b61fbf27196d1a7c5a475e083"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">]</span></a>.<br/>
<br/>
<span class="id" title="keyword">Lemma</span> <a name="tupleP"><span class="id" title="lemma">tupleP</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple1_spec"><span class="id" title="inductive">tuple1_spec</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#u"><span class="id" title="variable">u</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tnth_map"><span class="id" title="lemma">tnth_map</span></a> <span class="id" title="var">f</span> <span class="id" title="var">t</span> <span class="id" title="var">i</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#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.rT"><span class="id" title="variable">rT</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tnth_map"><span class="id" title="lemma">tnth_map</span></a> <span class="id" title="var">f</span> <span class="id" title="var">t</span> <span class="id" title="var">i</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#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">of</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.tuple.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple.rT"><span class="id" title="variable">rT</span></a>.<br/>
<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#SeqTuple"><span class="id" title="section">SeqTuple</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tnth_behead"><span class="id" title="lemma">tnth_behead</span></a> <span class="id" title="var">n</span> <span class="id" title="var">T</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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.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.tuple.html#T"><span class="id" title="variable">T</span></a>) <span class="id" title="var">i</span> :<br/>
-&nbsp;&nbsp;<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#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#behead"><span class="id" title="definition">behead</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</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.tuple.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/>
+<span class="id" title="keyword">Lemma</span> <a name="tnth_behead"><span class="id" title="lemma">tnth_behead</span></a> <span class="id" title="var">n</span> <span class="id" title="var">T</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a>) <span class="id" title="var">i</span> :<br/>
+&nbsp;&nbsp;<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#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#behead"><span class="id" title="definition">behead</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <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#t"><span class="id" title="variable">t</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.tuple.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tuple_eta"><span class="id" title="lemma">tuple_eta</span></a> <span class="id" title="var">n</span> <span class="id" title="var">T</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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.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.tuple.html#T"><span class="id" title="variable">T</span></a>) : <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#thead"><span class="id" title="definition">thead</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#behead"><span class="id" title="definition">behead</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tuple_eta"><span class="id" title="lemma">tuple_eta</span></a> <span class="id" title="var">n</span> <span class="id" title="var">T</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a>) : <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#thead"><span class="id" title="definition">thead</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#407cde5b61fbf27196d1a7c5a475e083"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#behead"><span class="id" title="definition">behead</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">]</span></a>.<br/>
<br/>
<span class="id" title="keyword">Section</span> <a name="TupleQuantifiers"><span class="id" title="section">TupleQuantifiers</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Variables</span> (<a name="TupleQuantifiers.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#nat"><span class="id" title="inductive">nat</span></a>) (<a name="TupleQuantifiers.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>).<br/>
-<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">a</span> : <a class="idref" href="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.tuple.html#TupleQuantifiers.T"><span class="id" title="variable">T</span></a>) (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#TupleQuantifiers.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.tuple.html#TupleQuantifiers.T"><span class="id" title="variable">T</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="TupleQuantifiers.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="TupleQuantifiers.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>).<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">a</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#TupleQuantifiers.T"><span class="id" title="variable">T</span></a>) (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#TupleQuantifiers.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#TupleQuantifiers.T"><span class="id" title="variable">T</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="forallb_tnth"><span class="id" title="lemma">forallb_tnth</span></a> <span class="id" title="var">a</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#6f09da91da7950fd65c31195ac4a5d3e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#6f09da91da7950fd65c31195ac4a5d3e"><span class="id" title="notation">∀</span></a> <span class="id" title="var">i</span><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a"><span class="id" title="variable">a</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.fintype.html#6f09da91da7950fd65c31195ac4a5d3e"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.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.tuple.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="forallb_tnth"><span class="id" title="lemma">forallb_tnth</span></a> <span class="id" title="var">a</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#ce8c9a990e3e773a56ef37417d3761c6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#ce8c9a990e3e773a56ef37417d3761c6"><span class="id" title="notation">∀</span></a> <span class="id" title="var">i</span><a class="idref" href="mathcomp.ssreflect.fintype.html#f3be25edeb0349b0a76405eded9d0b98"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a"><span class="id" title="variable">a</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.fintype.html#ce8c9a990e3e773a56ef37417d3761c6"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="existsb_tnth"><span class="id" title="lemma">existsb_tnth</span></a> <span class="id" title="var">a</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#e1fcc6c8b4370f06a39f9b1b3c9764b2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#e1fcc6c8b4370f06a39f9b1b3c9764b2"><span class="id" title="notation">∃</span></a> <span class="id" title="var">i</span><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a"><span class="id" title="variable">a</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.fintype.html#e1fcc6c8b4370f06a39f9b1b3c9764b2"><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.seq.html#has"><span class="id" title="definition">has</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="existsb_tnth"><span class="id" title="lemma">existsb_tnth</span></a> <span class="id" title="var">a</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#ea6c97f834d69613538d4da1fb704b25"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#ea6c97f834d69613538d4da1fb704b25"><span class="id" title="notation">∃</span></a> <span class="id" title="var">i</span><a class="idref" href="mathcomp.ssreflect.fintype.html#f3be25edeb0349b0a76405eded9d0b98"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a"><span class="id" title="variable">a</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.ssreflect.fintype.html#ea6c97f834d69613538d4da1fb704b25"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="all_tnthP"><span class="id" title="lemma">all_tnthP</span></a> <span class="id" title="var">a</span> <span class="id" title="var">t</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.tuple.html#a"><span class="id" title="variable">a</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</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.tuple.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="all_tnthP"><span class="id" title="lemma">all_tnthP</span></a> <span class="id" title="var">a</span> <span class="id" title="var">t</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.tuple.html#a"><span class="id" title="variable">a</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</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.tuple.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="has_tnthP"><span class="id" title="lemma">has_tnthP</span></a> <span class="id" title="var">a</span> <span class="id" title="var">t</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><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.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a"><span class="id" title="variable">a</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</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.tuple.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="has_tnthP"><span class="id" title="lemma">has_tnthP</span></a> <span class="id" title="var">a</span> <span class="id" title="var">t</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">i</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a"><span class="id" title="variable">a</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</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.tuple.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#TupleQuantifiers"><span class="id" title="section">TupleQuantifiers</span></a>.<br/>
@@ -306,79 +305,78 @@
<span class="id" title="keyword">Section</span> <a name="EqTuple"><span class="id" title="section">EqTuple</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Variables</span> (<a name="EqTuple.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#nat"><span class="id" title="inductive">nat</span></a>) (<a name="EqTuple.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="EqTuple.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="EqTuple.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Definition</span> <a name="tuple_eqMixin"><span class="id" title="definition">tuple_eqMixin</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">eqMixin</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.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.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">&lt;:]</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_eqType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.EqType"><span class="id" title="abbreviation">EqType</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.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.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_eqMixin"><span class="id" title="definition">tuple_eqMixin</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="tuple_eqMixin"><span class="id" title="definition">tuple_eqMixin</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation">eqMixin</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_eqType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.EqType"><span class="id" title="abbreviation">EqType</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_eqMixin"><span class="id" title="definition">tuple_eqMixin</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_predType</span> :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mkPredType"><span class="id" title="definition">mkPredType</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.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.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a> ⇒ <a class="idref" href="mathcomp.ssreflect.seq.html#mem_seq"><span class="id" title="definition">mem_seq</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_predType</span> := <a class="idref" href="mathcomp.ssreflect.ssrbool.html#PredType"><span class="id" title="definition">PredType</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#pred_of_seq"><span class="id" title="definition">pred_of_seq</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="memtE"><span class="id" title="lemma">memtE</span></a> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.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.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tval"><span class="id" title="projection">tval</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memtE"><span class="id" title="lemma">memtE</span></a> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#tval"><span class="id" title="projection">tval</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="mem_tnth"><span class="id" title="lemma">mem_tnth</span></a> <span class="id" title="var">i</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.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.tuple.html#EqTuple.T"><span class="id" title="variable">T</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mem_tnth"><span class="id" title="lemma">mem_tnth</span></a> <span class="id" title="var">i</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.T"><span class="id" title="variable">T</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.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="memt_nth"><span class="id" title="lemma">memt_nth</span></a> <span class="id" title="var">x0</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.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.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a>) <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#EqTuple.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.seq.html#nth"><span class="id" title="definition">nth</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memt_nth"><span class="id" title="lemma">memt_nth</span></a> <span class="id" title="var">x0</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a>) <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#nth"><span class="id" title="definition">nth</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tnthP"><span class="id" title="lemma">tnthP</span></a> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.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.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><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.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tnthP"><span class="id" title="lemma">tnthP</span></a> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">i</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="seq_tnthP"><span class="id" title="lemma">seq_tnthP</span></a> (<span class="id" title="var">s</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><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.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.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.tuple.html#s"><span class="id" title="variable">s</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.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#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">}</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="seq_tnthP"><span class="id" title="lemma">seq_tnthP</span></a> (<span class="id" title="var">s</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple.T"><span class="id" title="variable">T</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">i</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.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.tuple.html#s"><span class="id" title="variable">s</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/>
<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#EqTuple"><span class="id" title="section">EqTuple</span></a>.<br/>
<br/>
<span class="id" title="keyword">Definition</span> <a name="tuple_choiceMixin"><span class="id" title="definition">tuple_choiceMixin</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.choiceType"><span class="id" title="abbreviation">choiceType</span></a>) :=<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">choiceMixin</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.choice.html#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation">choiceMixin</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation">&lt;:]</span></a>.<br/>
<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_choiceType</span> <span class="id" title="var">n</span> (<span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.choiceType"><span class="id" title="abbreviation">choiceType</span></a>) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#T"><span class="id" title="variable">T</span></a>) (<a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_choiceMixin"><span class="id" title="definition">tuple_choiceMixin</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a>).<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a>) (<a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_choiceMixin"><span class="id" title="definition">tuple_choiceMixin</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a>).<br/>
<br/>
<span class="id" title="keyword">Definition</span> <a name="tuple_countMixin"><span class="id" title="definition">tuple_countMixin</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.countType"><span class="id" title="abbreviation">countType</span></a>) :=<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.choice.html#99c739c8f4212f142296b27d3077c65e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#99c739c8f4212f142296b27d3077c65e"><span class="id" title="notation">countMixin</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#99c739c8f4212f142296b27d3077c65e"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#99c739c8f4212f142296b27d3077c65e"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#99c739c8f4212f142296b27d3077c65e"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.choice.html#c2a823e7a76d1d303efdd00309d93aca"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#c2a823e7a76d1d303efdd00309d93aca"><span class="id" title="notation">countMixin</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#c2a823e7a76d1d303efdd00309d93aca"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#c2a823e7a76d1d303efdd00309d93aca"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#c2a823e7a76d1d303efdd00309d93aca"><span class="id" title="notation">&lt;:]</span></a>.<br/>
<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_countType</span> <span class="id" title="var">n</span> (<span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.countType"><span class="id" title="abbreviation">countType</span></a>) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.CountType"><span class="id" title="abbreviation">CountType</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#T"><span class="id" title="variable">T</span></a>) (<a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_countMixin"><span class="id" title="definition">tuple_countMixin</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a>).<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.CountType"><span class="id" title="abbreviation">CountType</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a>) (<a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_countMixin"><span class="id" title="definition">tuple_countMixin</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a>).<br/>
<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_subCountType</span> <span class="id" title="var">n</span> (<span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.countType"><span class="id" title="abbreviation">countType</span></a>) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">subCountType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">]</span></a>.<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#9bbd910cbebcec91f8279b0711b4702d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#9bbd910cbebcec91f8279b0711b4702d"><span class="id" title="notation">subCountType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#9bbd910cbebcec91f8279b0711b4702d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#9bbd910cbebcec91f8279b0711b4702d"><span class="id" title="notation">]</span></a>.<br/>
<br/>
<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Type</span> <a name="FinTupleSig"><span class="id" title="module">FinTupleSig</span></a>.<br/>
<span class="id" title="keyword">Section</span> <a name="FinTupleSig.FinTupleSig"><span class="id" title="section">FinTupleSig</span></a>.<br/>
-<span class="id" title="keyword">Variables</span> (<a name="FinTupleSig.FinTupleSig.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#nat"><span class="id" title="inductive">nat</span></a>) (<a name="FinTupleSig.FinTupleSig.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>).<br/>
-<span class="id" title="keyword">Parameter</span> <a name="FinTupleSig.enum"><span class="id" title="axiom">enum</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.tuple.html#FinTupleSig.FinTupleSig.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.tuple.html#FinTupleSig.FinTupleSig.T"><span class="id" title="variable">T</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FinTupleSig.FinTupleSig.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="FinTupleSig.FinTupleSig.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>).<br/>
+<span class="id" title="keyword">Parameter</span> <a name="FinTupleSig.enum"><span class="id" title="axiom">enum</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.tuple.html#FinTupleSig.FinTupleSig.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTupleSig.FinTupleSig.T"><span class="id" title="variable">T</span></a>).<br/>
<span class="id" title="keyword">Axiom</span> <a name="FinTupleSig.enumP"><span class="id" title="axiom">enumP</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.axiom"><span class="id" title="definition">Finite.axiom</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTupleSig.enum"><span class="id" title="axiom">enum</span></a>.<br/>
-<span class="id" title="keyword">Axiom</span> <a name="FinTupleSig.size_enum"><span class="id" title="axiom">size_enum</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.tuple.html#FinTupleSig.enum"><span class="id" title="axiom">enum</span></a> <a class="idref" href="http://coq.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.tuple.html#FinTupleSig.FinTupleSig.T"><span class="id" title="variable">T</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#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTupleSig.FinTupleSig.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Axiom</span> <a name="FinTupleSig.size_enum"><span class="id" title="axiom">size_enum</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.tuple.html#FinTupleSig.enum"><span class="id" title="axiom">enum</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#FinTupleSig.FinTupleSig.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTupleSig.FinTupleSig.n"><span class="id" title="variable">n</span></a>.<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTupleSig.FinTupleSig"><span class="id" title="section">FinTupleSig</span></a>.<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTupleSig"><span class="id" title="module">FinTupleSig</span></a>.<br/>
<br/>
<span class="id" title="keyword">Module</span> <a name="FinTuple"><span class="id" title="module">FinTuple</span></a> : <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTupleSig"><span class="id" title="module">FinTupleSig</span></a>.<br/>
<span class="id" title="keyword">Section</span> <a name="FinTuple.FinTuple"><span class="id" title="section">FinTuple</span></a>.<br/>
-<span class="id" title="keyword">Variables</span> (<a name="FinTuple.FinTuple.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#nat"><span class="id" title="inductive">nat</span></a>) (<a name="FinTuple.FinTuple.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FinTuple.FinTuple.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="FinTuple.FinTuple.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Definition</span> <a name="FinTuple.enum"><span class="id" title="definition">enum</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.tuple.html#FinTuple.FinTuple.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.tuple.html#FinTuple.FinTuple.T"><span class="id" title="variable">T</span></a>) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">extend</span> <span class="id" title="var">e</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#flatten"><span class="id" title="definition">flatten</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#codom"><span class="id" title="definition">codom</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#cons"><span class="id" title="constructor">cons</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#e"><span class="id" title="variable">e</span></a>)) <span class="id" title="tactic">in</span><br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.seq.html#pmap"><span class="id" title="definition">pmap</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.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTuple.FinTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#extend"><span class="id" title="variable">extend</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="FinTuple.enum"><span class="id" title="definition">enum</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.tuple.html#FinTuple.FinTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTuple.FinTuple.T"><span class="id" title="variable">T</span></a>) :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">extend</span> <span class="id" title="var">e</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#flatten"><span class="id" title="definition">flatten</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#codom"><span class="id" title="definition">codom</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#cons"><span class="id" title="constructor">cons</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#e"><span class="id" title="variable">e</span></a>)) <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.seq.html#pmap"><span class="id" title="definition">pmap</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.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTuple.FinTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#extend"><span class="id" title="variable">extend</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a>).<br/>
<br/>
<span class="id" title="keyword">Lemma</span> <a name="FinTuple.enumP"><span class="id" title="lemma">enumP</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.axiom"><span class="id" title="definition">Finite.axiom</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTuple.enum"><span class="id" title="definition">enum</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="FinTuple.size_enum"><span class="id" title="lemma">size_enum</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.tuple.html#FinTuple.enum"><span class="id" title="definition">enum</span></a> <a class="idref" href="http://coq.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.tuple.html#FinTuple.FinTuple.T"><span class="id" title="variable">T</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#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTuple.FinTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="FinTuple.size_enum"><span class="id" title="lemma">size_enum</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.tuple.html#FinTuple.enum"><span class="id" title="definition">enum</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#FinTuple.FinTuple.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTuple.FinTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#FinTuple.FinTuple"><span class="id" title="section">FinTuple</span></a>.<br/>
@@ -388,39 +386,49 @@
<span class="id" title="keyword">Section</span> <a name="UseFinTuple"><span class="id" title="section">UseFinTuple</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Variables</span> (<a name="UseFinTuple.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#nat"><span class="id" title="inductive">nat</span></a>) (<a name="UseFinTuple.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="UseFinTuple.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="UseFinTuple.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_finMixin</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.FinMixin"><span class="id" title="abbreviation">FinMixin</span></a> (@<a class="idref" href="mathcomp.ssreflect.tuple.html#enumP"><span class="id" title="axiom">FinTuple.enumP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a>).<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_finType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.FinType"><span class="id" title="abbreviation">FinType</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.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.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_finMixin"><span class="id" title="definition">tuple_finMixin</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_subFinType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">subFinType</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.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.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">]</span></a>.<br/>
+</div>
+
+<div class="doc">
+ tuple_finMixin could, in principle, be made Canonical to allow for folding
+ Finite.enum of a finite tuple type (see comments around eqE in eqtype.v),
+ but in practice it will not work because the mixin_enum projector
+ has been burried under an opaque alias, to avoid some performance issues
+ during type inference.
+</div>
+<div class="code">
+<span class="id" title="keyword">Definition</span> <a name="tuple_finMixin"><span class="id" title="definition">tuple_finMixin</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.FinMixin"><span class="id" title="abbreviation">FinMixin</span></a> (@<a class="idref" href="mathcomp.ssreflect.tuple.html#enumP"><span class="id" title="axiom">FinTuple.enumP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_finType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.FinType"><span class="id" title="abbreviation">FinType</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#tuple_finMixin"><span class="id" title="definition">tuple_finMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">tuple_subFinType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#ea70e506e168d39ce0ec3d3ecd2c349f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#ea70e506e168d39ce0ec3d3ecd2c349f"><span class="id" title="notation">subFinType</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#ea70e506e168d39ce0ec3d3ecd2c349f"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#ea70e506e168d39ce0ec3d3ecd2c349f"><span class="id" title="notation">]</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="card_tuple"><span class="id" title="lemma">card_tuple</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#74a34ed1f9b36f83662203527a970b09"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.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.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#74a34ed1f9b36f83662203527a970b09"><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.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.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</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#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_tuple"><span class="id" title="lemma">card_tuple</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#fa3b33ae9d0a52de608b305a09f3b881"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#fa3b33ae9d0a52de608b305a09f3b881"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.n"><span class="id" title="variable">n</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="enum_tupleP"><span class="id" title="lemma">enum_tupleP</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.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</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.fintype.html#enum"><span class="id" title="abbreviation">enum</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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.tuple.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="enum_tupleP"><span class="id" title="lemma">enum_tupleP</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><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.fintype.html#enum"><span class="id" title="abbreviation">enum</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/>
<span class="id" title="keyword">Canonical</span> <span class="id" title="var">enum_tuple</span> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#enum_tupleP"><span class="id" title="lemma">enum_tupleP</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#A"><span class="id" title="variable">A</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Definition</span> <a name="ord_tuple"><span class="id" title="definition">ord_tuple</span></a> : <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.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.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_n</span></a> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#introT"><span class="id" title="lemma">introT</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#eqP"><span class="id" title="lemma">eqP</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#size_enum_ord"><span class="id" title="lemma">size_enum_ord</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.n"><span class="id" title="variable">n</span></a>)).<br/>
-<span class="id" title="keyword">Lemma</span> <a name="val_ord_tuple"><span class="id" title="lemma">val_ord_tuple</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#ord_tuple"><span class="id" title="definition">ord_tuple</span></a> <a class="idref" href="http://coq.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.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_n</span></a>. <br/>
+<span class="id" title="keyword">Definition</span> <a name="ord_tuple"><span class="id" title="definition">ord_tuple</span></a> : <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a> := <a class="idref" href="mathcomp.ssreflect.tuple.html#Tuple"><span class="id" title="constructor">Tuple</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#introT"><span class="id" title="lemma">introT</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#eqP"><span class="id" title="lemma">eqP</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#size_enum_ord"><span class="id" title="lemma">size_enum_ord</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.n"><span class="id" title="variable">n</span></a>)).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_ord_tuple"><span class="id" title="lemma">val_ord_tuple</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#ord_tuple"><span class="id" title="definition">ord_tuple</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#enum"><span class="id" title="abbreviation">enum</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a>. <br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tuple_map_ord"><span class="id" title="lemma">tuple_map_ord</span></a> <span class="id" title="var">U</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.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.tuple.html#U"><span class="id" title="variable">U</span></a>) : <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</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.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#ord_tuple"><span class="id" title="definition">ord_tuple</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tuple_map_ord"><span class="id" title="lemma">tuple_map_ord</span></a> <span class="id" title="var">U</span> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#U"><span class="id" title="variable">U</span></a>) : <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">of</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.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="mathcomp.ssreflect.tuple.html#ord_tuple"><span class="id" title="definition">ord_tuple</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">]</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tnth_ord_tuple"><span class="id" title="lemma">tnth_ord_tuple</span></a> <span class="id" title="var">i</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#ord_tuple"><span class="id" title="definition">ord_tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#i"><span class="id" title="variable">i</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tnth_ord_tuple"><span class="id" title="lemma">tnth_ord_tuple</span></a> <span class="id" title="var">i</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#ord_tuple"><span class="id" title="definition">ord_tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>.<br/>
<br/>
<span class="id" title="keyword">Section</span> <a name="UseFinTuple.ImageTuple"><span class="id" title="section">ImageTuple</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Variables</span> (<a name="UseFinTuple.ImageTuple.T'"><span class="id" title="variable">T'</span></a> : <span class="id" title="keyword">Type</span>) (<a name="UseFinTuple.ImageTuple.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.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.tuple.html#T'"><span class="id" title="variable">T'</span></a>) (<a name="UseFinTuple.ImageTuple.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.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="UseFinTuple.ImageTuple.T'"><span class="id" title="variable">T'</span></a> : <span class="id" title="keyword">Type</span>) (<a name="UseFinTuple.ImageTuple.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T'"><span class="id" title="variable">T'</span></a>) (<a name="UseFinTuple.ImageTuple.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>).<br/>
<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">image_tuple</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#d8866adbd4a602b7b4cc275d73486ace"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#d8866adbd4a602b7b4cc275d73486ace"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.T'"><span class="id" title="variable">T'</span></a> := <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#image"><span class="id" title="abbreviation">image</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">]</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">codom_tuple</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#d8866adbd4a602b7b4cc275d73486ace"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#d8866adbd4a602b7b4cc275d73486ace"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.T'"><span class="id" title="variable">T'</span></a> := <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#codom"><span class="id" title="definition">codom</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#a561cbd02120e729eb821f52665c6080"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">image_tuple</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.T'"><span class="id" title="variable">T'</span></a> := <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#image"><span class="id" title="abbreviation">image</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">codom_tuple</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.T'"><span class="id" title="variable">T'</span></a> := <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#codom"><span class="id" title="definition">codom</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple.f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#1c05412e4f131fc504427f72854c7514"><span class="id" title="notation">]</span></a>.<br/>
<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.ImageTuple"><span class="id" title="section">ImageTuple</span></a>.<br/>
@@ -429,25 +437,29 @@
<span class="id" title="keyword">Section</span> <a name="UseFinTuple.MkTuple"><span class="id" title="section">MkTuple</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Variables</span> (<a name="UseFinTuple.MkTuple.T'"><span class="id" title="variable">T'</span></a> : <span class="id" title="keyword">Type</span>) (<a name="UseFinTuple.MkTuple.f"><span class="id" title="variable">f</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_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.tuple.html#T'"><span class="id" title="variable">T'</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="UseFinTuple.MkTuple.T'"><span class="id" title="variable">T'</span></a> : <span class="id" title="keyword">Type</span>) (<a name="UseFinTuple.MkTuple.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T'"><span class="id" title="variable">T'</span></a>).<br/>
<br/>
<span class="id" title="keyword">Definition</span> <a name="mktuple"><span class="id" title="definition">mktuple</span></a> := <a class="idref" href="mathcomp.ssreflect.tuple.html#map_tuple"><span class="id" title="definition">map_tuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.MkTuple.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#ord_tuple"><span class="id" title="definition">ord_tuple</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="tnth_mktuple"><span class="id" title="lemma">tnth_mktuple</span></a> <span class="id" title="var">i</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#mktuple"><span class="id" title="definition">mktuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#UseFinTuple.MkTuple.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="tnth_mktuple"><span class="id" title="lemma">tnth_mktuple</span></a> <span class="id" title="var">i</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#mktuple"><span class="id" title="definition">mktuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.MkTuple.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Lemma</span> <a name="nth_mktuple"><span class="id" title="lemma">nth_mktuple</span></a> <span class="id" title="var">x0</span> (<span class="id" title="var">i</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_n</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.tuple.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#mktuple"><span class="id" title="definition">mktuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#UseFinTuple.MkTuple.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="nth_mktuple"><span class="id" title="lemma">nth_mktuple</span></a> <span class="id" title="var">x0</span> (<span class="id" title="var">i</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</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.tuple.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#mktuple"><span class="id" title="definition">mktuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple.MkTuple.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.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.tuple.html#UseFinTuple.MkTuple"><span class="id" title="section">MkTuple</span></a>.<br/>
<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_mktuple"><span class="id" title="lemma">eq_mktuple</span></a> <span class="id" title="var">T'</span> (<span class="id" title="var">f1</span> <span class="id" title="var">f2</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#T'"><span class="id" title="variable">T'</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.tuple.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#mktuple"><span class="id" title="definition">mktuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#mktuple"><span class="id" title="definition">mktuple</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#f2"><span class="id" title="variable">f2</span></a>.<br/>
+
+<br/>
<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#UseFinTuple"><span class="id" title="section">UseFinTuple</span></a>.<br/>
<br/>
-<span class="id" title="keyword">Notation</span> <a name="1bdc3d6f63dc0019ce17772415ee5798"><span class="id" title="notation">&quot;</span></a>[ 'tuple' F | i &lt; n ]" := (<a class="idref" href="mathcomp.ssreflect.tuple.html#mktuple"><span class="id" title="definition">mktuple</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</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_n</span></a> ⇒ <span class="id" title="var">F</span>))<br/>
+<span class="id" title="keyword">Notation</span> <a name="9d5b9af75768e306a1218aacdf8c3490"><span class="id" title="notation">&quot;</span></a>[ 'tuple' F | i &lt; n ]" := (<a class="idref" href="mathcomp.ssreflect.tuple.html#mktuple"><span class="id" title="definition">mktuple</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a> ⇒ <span class="id" title="var">F</span>))<br/>
&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <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;<span class="id" title="var">format</span> "[ '[hv' 'tuple' F '/' | i &lt; n ] ']'") : <span class="id" title="var">form_scope</span>.<br/>