aboutsummaryrefslogtreecommitdiff
path: root/docs/htmldoc/mathcomp.ssreflect.finset.html
diff options
context:
space:
mode:
authorEnrico Tassi2018-04-20 10:54:22 +0200
committerEnrico Tassi2018-04-20 10:54:22 +0200
commited05182cece6bb3706e09b2ce14af4a41a2e8141 (patch)
treee850d7314b6372d0476cf2ffaf7d3830721db7b1 /docs/htmldoc/mathcomp.ssreflect.finset.html
parent3d196f44681fb3b23ff8a79fbd44e12308680531 (diff)
generate the documentation for 1.7
Diffstat (limited to 'docs/htmldoc/mathcomp.ssreflect.finset.html')
-rw-r--r--docs/htmldoc/mathcomp.ssreflect.finset.html2041
1 files changed, 2041 insertions, 0 deletions
diff --git a/docs/htmldoc/mathcomp.ssreflect.finset.html b/docs/htmldoc/mathcomp.ssreflect.finset.html
new file mode 100644
index 0000000..9542bbf
--- /dev/null
+++ b/docs/htmldoc/mathcomp.ssreflect.finset.html
@@ -0,0 +1,2041 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<link href="coqdoc.css" rel="stylesheet" type="text/css" />
+<title>mathcomp.ssreflect.finset</title>
+</head>
+
+<body>
+
+<div id="page">
+
+<div id="header">
+</div>
+
+<div id="main">
+
+<h1 class="libtitle">Library mathcomp.ssreflect.finset</h1>
+
+<div class="code">
+<span class="comment">(*&nbsp;(c)&nbsp;Copyright&nbsp;2006-2016&nbsp;Microsoft&nbsp;Corporation&nbsp;and&nbsp;Inria.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>
+&nbsp;Distributed&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;CeCILL-B.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)</span><br/>
+<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="mathcomp.ssreflect.ssreflect.html#"><span class="id" title="library">mathcomp.ssreflect.ssreflect</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ This file defines a type for sets over a finite Type, similar to the type
+ of functions over a finite Type defined in finfun.v (indeed, based in it):
+ {set T} where T must have a finType structure
+ We equip {set T} itself with a finType structure, hence Leibnitz and
+ extensional equalities coincide on {set T}, and we can form {set {set T}}
+ If A, B : {set T} and P : {set {set T}}, we define:
+ x \in A == x belongs to A (i.e., {set T} implements predType,
+ by coercion to pred_sort).
+ mem A == the predicate corresponding to A.
+ finset p == the set corresponding to a predicate p.
+ [set x | P] == the set containing the x such that P is true (x may
+ appear in P).
+ [set x | P &amp; Q] := [set x | P &amp;&amp; Q].
+ [set x in A] == the set containing the x in a collective predicate A.
+ [set x in A | P] == the set containing the x in A such that P is true.
+ [set x in A | P &amp; Q] := [set x in A | P &amp;&amp; Q].
+ All these have typed variants [set x : T | P], [set x : T in A], etc.
+ set0 == the empty set.
+ [set: T] or setT == the full set (the A containing all x : T).
+ A :|: B == the union of A and B.
+ x |: A == A with the element x added (:= [set x] :| A).
+ A :&amp;: B == the intersection of A and B.
+ ~: A == the complement of A.
+ A :\: B == the difference A minus B.
+ A :\ x == A with the element x removed (:= A :\: [set x]).
+ \bigcup&lt;range&gt; A == the union of all A, for i in &lt;range&gt; (i is bound in
+ A, see bigop.v).
+ \bigcap&lt;range&gt; A == the intersection of all A, for i in &lt;range&gt;.
+ cover P == the union of the set of sets P.
+ trivIset P &lt;=&gt; the elements of P are pairwise disjoint.
+ partition P A &lt;=&gt; P is a partition of A.
+ pblock P x == a block of P containing x, or else set0.
+ equivalence_partition R D == the partition induced on D by the relation R
+ (provided R is an equivalence relation in D).
+ preim_partition f D == the partition induced on D by the equivalence
+ [rel x y | f x == f y].
+ is_transversal X P D &lt;=&gt; X is a transversal of the partition P of D.
+ transversal P D == a transversal of P, provided P is a partition of D.
+ transversal_repr x0 X B == a representative of B \in P selected by the
+ tranversal X of P, or else x0.
+ powerset A == the set of all subset of the set A.
+ P ::&amp;: A == those sets in P that are subsets of the set A.
+ f @^-1: A == the preimage of the collective predicate A under f.
+ f @: A == the image set of the collective predicate A by f.
+ f @2:(A, B) == the image set of A x B by the binary function f.
+ [set E | x in A] == the set of all the values of the expression E, for x
+ drawn from the collective predicate A.
+ [set E | x in A &amp; P] == the set of values of E for x drawn from A, such
+ that P is true.
+ [set E | x in A, y in B] == the set of values of E for x drawn from A and
+ and y drawn from B; B may depend on x.
+ [set E | x &lt;- A, y &lt;- B &amp; P] == the set of values of E for x drawn from A
+ y drawn from B, such that P is trye.
+ [set E | x : T] == the set of all values of E, with x in type T.
+ [set E | x : T &amp; P] == the set of values of E for x : T s.t. P is true.
+ [set E | x : T, y : U in B], [set E | x : T, y : U in B &amp; P],
+ [set E | x : T in A, y : U], [set E | x : T in A, y : U &amp; P],
+ [set E | x : T, y : U], [set E | x : T, y : U &amp; P]
+ == type-ranging versions of the binary comprehensions.
+ [set E | x : T in A], [set E | x in A, y], [set E | x, y &amp; P], etc.
+ == typed and untyped variants of the comprehensions above.
+ The types may be required as type inference processes E
+ before considering A or B. Note that type casts in the
+ binary comprehension must either be both present or absent
+ and that there are no untyped variants for single-type
+ comprehension as Coq parsing confuses [x | P] and [E | x].
+ minset p A == A is a minimal set satisfying p.
+ maxset p A == A is a maximal set satisfying p.
+ We also provide notations A :=: B, A :&lt;&gt;: B, A :==: B, A :!=: B, A :=P: B
+ that specialize A = B, A &lt;&gt; B, A == B, etc., to {set _}. This is useful
+ for subtypes of {set T}, such as {group T}, that coerce to {set T}.
+ We give many lemmas on these operations, on card, and on set inclusion.
+ In addition to the standard suffixes described in ssrbool.v, we associate
+ the following suffixes to set operations:
+ 0 -- the empty set, as in in_set0 : (x \in set0) = false.
+ T -- the full set, as in in_setT : x \in [set: T].
+ 1 -- a singleton set, as in in_set1 : (x \in [set a]) = (x == a).
+ 2 -- an unordered pair, as in
+ in_set2 : (x \in [set a; b]) = (x == a) || (x == b).
+ C -- complement, as in setCK : ~: ~: A = A.
+ I -- intersection, as in setIid : A :&amp;: A = A.
+ U -- union, as in setUid : A :|: A = A.
+ D -- difference, as in setDv : A :\: A = set0.
+ S -- a subset argument, as in
+ setIS: B \subset C -&gt; A :&amp;: B \subset A :&amp;: C
+ These suffixes are sometimes preceded with an `s' to distinguish them from
+ their basic ssrbool interpretation, e.g.,
+ card1 : #|pred1 x| = 1 and cards1 : #| [set x]| = 1
+ We also use a trailling `r' to distinguish a right-hand complement from
+ commutativity, e.g.,
+ setIC : A :&amp;: B = B :&amp;: A and setICr : A :&amp;: ~: A = set0.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Set Implicit Arguments</span>.<br/>
+<span class="id" title="keyword">Section</span> <a name="SetType"><span class="id" title="section">SetType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="SetType.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">Inductive</span> <a name="set_type"><span class="id" title="inductive">set_type</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> := <a name="FinSet"><span class="id" title="constructor">FinSet</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">ffun</span></a> <a class="idref" href="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.finset.html#SetType.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="finfun_of_set"><span class="id" title="definition">finfun_of_set</span></a> <span class="id" title="var">A</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.ssreflect.finset.html#FinSet"><span class="id" title="constructor">FinSet</span></a> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">f</span>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="set_of"><span class="id" title="definition">set_of</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#SetType.T"><span class="id" title="variable">T</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#set_type"><span class="id" title="inductive">set_type</span></a>.<br/>
+<span class="id" title="keyword">Identity</span> <span class="id" title="keyword">Coercion</span> <span class="id" title="var">type_of_set_of</span> : <span class="id" title="var">set_of</span> &gt;-&gt; <span class="id" title="var">set_type</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_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#d716e206e5129c6b3a60f0f640eaaeb0"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#d716e206e5129c6b3a60f0f640eaaeb0"><span class="id" title="notation">newType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#d716e206e5129c6b3a60f0f640eaaeb0"><span class="id" title="notation">for</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#finfun_of_set"><span class="id" title="definition">finfun_of_set</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#d716e206e5129c6b3a60f0f640eaaeb0"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="set_eqMixin"><span class="id" title="definition">set_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.finset.html#set_type"><span class="id" title="inductive">set_type</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">set_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.finset.html#set_type"><span class="id" title="inductive">set_type</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set_eqMixin"><span class="id" title="definition">set_eqMixin</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="set_choiceMixin"><span class="id" title="definition">set_choiceMixin</span></a> := <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.finset.html#set_type"><span class="id" title="inductive">set_type</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/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_choiceType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set_type"><span class="id" title="inductive">set_type</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set_choiceMixin"><span class="id" title="definition">set_choiceMixin</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="set_countMixin"><span class="id" title="definition">set_countMixin</span></a> := <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.finset.html#set_type"><span class="id" title="inductive">set_type</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/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_countType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.CountType"><span class="id" title="abbreviation">CountType</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set_type"><span class="id" title="inductive">set_type</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set_countMixin"><span class="id" title="definition">set_countMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_subCountType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#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.finset.html#set_type"><span class="id" title="inductive">set_type</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="set_finMixin"><span class="id" title="definition">set_finMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.fintype.html#8c180561768185dd10396a5d3615104a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#8c180561768185dd10396a5d3615104a"><span class="id" title="notation">finMixin</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#8c180561768185dd10396a5d3615104a"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set_type"><span class="id" title="inductive">set_type</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#8c180561768185dd10396a5d3615104a"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#8c180561768185dd10396a5d3615104a"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_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.finset.html#set_type"><span class="id" title="inductive">set_type</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set_finMixin"><span class="id" title="definition">set_finMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_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.finset.html#set_type"><span class="id" title="inductive">set_type</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#SetType"><span class="id" title="section">SetType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">set_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">SET</span>.<br/>
+<span class="id" title="keyword">Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">&quot;</span></a>{ 'set' T }" := (<a class="idref" href="mathcomp.ssreflect.finset.html#set_of"><span class="id" title="definition">set_of</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">T</span>))<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> "{ 'set' T }") : <span class="id" title="var">type_scope</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ We later define several subtypes that coerce to set; for these it is
+ preferable to state equalities at the {set _} level, even when comparing
+ subtype values, because the primitive "injection" tactic tends to diverge
+ on complex types (e.g., quotient groups). We provide some parse-only
+ notation to make this technicality less obstrusive.
+</div>
+<div class="code">
+<span class="id" title="keyword">Notation</span> <a name="67291ec55239f54fa5aa0b0bb974446c"><span class="id" title="notation">&quot;</span></a>A :=: B" := (<span class="id" title="var">A</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <span class="id" title="var">B</span> <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.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 70, <span class="id" title="keyword">no</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="3ead863f625b94b2207b999cfcc823ba"><span class="id" title="notation">&quot;</span></a>A :&lt;&gt;: B" := (<span class="id" title="var">A</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#bf4ebde00e5e9b74eb68426b182981ab"><span class="id" title="notation">≠</span></a> <span class="id" title="var">B</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#bf4ebde00e5e9b74eb68426b182981ab"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 70, <span class="id" title="keyword">no</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="24f47bb7b1a372904563d2bdb8a213a4"><span class="id" title="notation">&quot;</span></a>A :==: B" := (<span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#340b60eb5a3e9913f807040630cb8d43"><span class="id" title="notation">==</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#340b60eb5a3e9913f807040630cb8d43"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 70, <span class="id" title="keyword">no</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="36625695d37b6869c156bfcdf13834f7"><span class="id" title="notation">&quot;</span></a>A :!=: B" := (<span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">!=</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 70, <span class="id" title="keyword">no</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="b1b16eeac768b9fa5b6113f8f684795a"><span class="id" title="notation">&quot;</span></a>A :=P: B" := (<span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#57fb9faa34beea4ffe4cd740203a17ea"><span class="id" title="notation">=</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#57fb9faa34beea4ffe4cd740203a17ea"><span class="id" title="notation">P</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#57fb9faa34beea4ffe4cd740203a17ea"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 70, <span class="id" title="keyword">no</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Type</span> <a name="SetDefSig"><span class="id" title="module">SetDefSig</span></a>.<br/>
+<span class="id" title="keyword">Parameter</span> <a name="SetDefSig.finset"><span class="id" title="axiom">finset</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>, <a class="idref" href="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.finset.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>.<br/>
+<span class="id" title="keyword">Parameter</span> <a name="SetDefSig.pred_of_set"><span class="id" title="axiom">pred_of_set</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">T</span>, <a class="idref" href="mathcomp.ssreflect.finset.html#set_type"><span class="id" title="inductive">set_type</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fin_pred_sort"><span class="id" title="definition">fin_pred_sort</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a>).<br/>
+</div>
+
+<div class="doc">
+ The weird type of pred_of_set is imposed by the syntactic restrictions on
+ coercion declarations; it is unfortunately not possible to use a functor
+ to retype the declaration, because this triggers an ugly bug in the Coq
+ coercion chaining code.
+</div>
+<div class="code">
+<span class="id" title="keyword">Axiom</span> <a name="SetDefSig.finsetE"><span class="id" title="axiom">finsetE</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#SetDefSig.finset"><span class="id" title="axiom">finset</span></a> <a class="idref" href="http://coq.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.finset.html#finset_def"><span class="id" title="abbreviation">finset_def</span></a>.<br/>
+<span class="id" title="keyword">Axiom</span> <a name="SetDefSig.pred_of_setE"><span class="id" title="axiom">pred_of_setE</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#SetDefSig.pred_of_set"><span class="id" title="axiom">pred_of_set</span></a> <a class="idref" href="http://coq.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.finset.html#pred_of_set_def"><span class="id" title="abbreviation">pred_of_set_def</span></a>.<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#SetDefSig"><span class="id" title="module">SetDefSig</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <a name="SetDef"><span class="id" title="module">SetDef</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#SetDefSig"><span class="id" title="module">SetDefSig</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="SetDef.finset"><span class="id" title="definition">finset</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#finset_def"><span class="id" title="abbreviation">finset_def</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="SetDef.pred_of_set"><span class="id" title="definition">pred_of_set</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#pred_of_set_def"><span class="id" title="abbreviation">pred_of_set_def</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="SetDef.finsetE"><span class="id" title="lemma">finsetE</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#SetDef.finset"><span class="id" title="definition">finset</span></a> <a class="idref" href="http://coq.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.finset.html#finset_def"><span class="id" title="abbreviation">finset_def</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="SetDef.pred_of_setE"><span class="id" title="lemma">pred_of_setE</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#SetDef.pred_of_set"><span class="id" title="definition">pred_of_set</span></a> <a class="idref" href="http://coq.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.finset.html#pred_of_set_def"><span class="id" title="abbreviation">pred_of_set_def</span></a>. <br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#SetDef"><span class="id" title="module">SetDef</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="finset"><span class="id" title="abbreviation">finset</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#finset"><span class="id" title="axiom">SetDef.finset</span></a>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="pred_of_set"><span class="id" title="abbreviation">pred_of_set</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#pred_of_set"><span class="id" title="axiom">SetDef.pred_of_set</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">finset_unlock</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Unlockable"><span class="id" title="constructor">Unlockable</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#finsetE"><span class="id" title="axiom">SetDef.finsetE</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pred_of_set_unlock</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Unlockable"><span class="id" title="constructor">Unlockable</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pred_of_setE"><span class="id" title="axiom">SetDef.pred_of_setE</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">&quot;</span></a>[ 'set' x : T | P ]" := (<a class="idref" href="mathcomp.ssreflect.finset.html#finset"><span class="id" title="abbreviation">finset</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> : <span class="id" title="var">T</span> ⇒ <span class="id" title="var">P</span>%<span class="id" title="var">B</span>))<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">&quot;</span></a>[ 'set' x | P ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><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">x</span>, <span class="id" title="var">P</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span> "[ 'set' x | P ]") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">&quot;</span></a>[ 'set' x 'in' A ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><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">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span> "[ 'set' x 'in' A ]") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="d53961d460c37508d0b584699f7a7bb1"><span class="id" title="notation">&quot;</span></a>[ 'set' x : T 'in' A ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><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">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="92573f9b19c03e948cd1a21ac092cb5a"><span class="id" title="notation">&quot;</span></a>[ 'set' x : T | P &amp; Q ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <span class="id" title="var">Q</span><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><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">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">&quot;</span></a>[ 'set' x | P &amp; Q ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <span class="id" title="var">Q</span> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><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">x</span>, <span class="id" title="var">P</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span> "[ 'set' x | P &amp; Q ]") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">&quot;</span></a>[ 'set' x : T 'in' A | P ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#92573f9b19c03e948cd1a21ac092cb5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#92573f9b19c03e948cd1a21ac092cb5a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#92573f9b19c03e948cd1a21ac092cb5a"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#92573f9b19c03e948cd1a21ac092cb5a"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.finset.html#92573f9b19c03e948cd1a21ac092cb5a"><span class="id" title="notation">&amp;</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#92573f9b19c03e948cd1a21ac092cb5a"><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">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">&quot;</span></a>[ 'set' x 'in' A | P ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">&amp;</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><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">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span> "[ 'set' x 'in' A | P ]") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="47f8dbfd6f917042df7ce33f259b63ad"><span class="id" title="notation">&quot;</span></a>[ 'set' x 'in' A | P &amp; Q ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <span class="id" title="var">Q</span><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><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">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99,<br/>
+&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "[ 'set' x 'in' A | P &amp; Q ]") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="b0f883a1809cbbe623f8b198e645bf4b"><span class="id" title="notation">&quot;</span></a>[ 'set' x : T 'in' A | P &amp; Q ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <span class="id" title="var">Q</span><a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><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">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ This lets us use set and subtypes of set, like group or coset_of, both as
+ collective predicates and as arguments of the \pi(_) notation.
+</div>
+<div class="code">
+<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.ssreflect.finset.html#pred_of_set"><span class="id" title="axiom">pred_of_set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#pred_of_set"><span class="id" title="axiom">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pred_of_set"><span class="id" title="axiom">set_type</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pred_of_set"><span class="id" title="axiom">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pred_of_set"><span class="id" title="axiom">fin_pred_sort</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Declare pred_of_set as a canonical instance of topred, but use the
+ coercion to resolve mem A to @mem (predPredType T) (pred_of_set A).
+</div>
+<div class="code">
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_predType</span> <span class="id" title="var">T</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="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#unkeyed"><span class="id" title="abbreviation">unkeyed</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#set_type"><span class="id" title="inductive">set_type</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a>)) (@<a class="idref" href="mathcomp.ssreflect.finset.html#pred_of_set"><span class="id" title="abbreviation">pred_of_set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="BasicSetTheory"><span class="id" title="section">BasicSetTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="BasicSetTheory.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">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a>) (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">pA</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.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_of_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#6645671e2203a23d135a621a3cf0157c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#6645671e2203a23d135a621a3cf0157c"><span class="id" title="notation">subType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#6645671e2203a23d135a621a3cf0157c"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#6645671e2203a23d135a621a3cf0157c"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_of_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#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">eqType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_of_choiceType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">choiceType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_of_countType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#be2fb44e85835140c455bc256ce18d4c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#be2fb44e85835140c455bc256ce18d4c"><span class="id" title="notation">countType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#be2fb44e85835140c455bc256ce18d4c"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#be2fb44e85835140c455bc256ce18d4c"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_of_subCountType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#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.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_of_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#eb1f7a25d8e03f1f02a5769831d0e74e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#eb1f7a25d8e03f1f02a5769831d0e74e"><span class="id" title="notation">finType</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#eb1f7a25d8e03f1f02a5769831d0e74e"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#eb1f7a25d8e03f1f02a5769831d0e74e"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">set_of_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.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_set"><span class="id" title="lemma">in_set</span></a> <span class="id" title="var">pA</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#finset"><span class="id" title="abbreviation">finset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pA"><span class="id" title="variable">pA</span></a> <a class="idref" href="http://coq.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.finset.html#pA"><span class="id" title="variable">pA</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setP"><span class="id" title="lemma">setP</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="set0"><span class="id" title="definition">set0</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="setTfor"><span class="id" title="definition">setTfor</span></a> (<span class="id" title="var">phT</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a>) := <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_setT"><span class="id" title="lemma">in_setT</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#setTfor"><span class="id" title="definition">setTfor</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory.T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqsVneq"><span class="id" title="lemma">eqsVneq</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5bf2050e90b21ebc82dc5463d1ba338e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5bf2050e90b21ebc82dc5463d1ba338e"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5bf2050e90b21ebc82dc5463d1ba338e"><span class="id" title="notation">+</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5bf2050e90b21ebc82dc5463d1ba338e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5bf2050e90b21ebc82dc5463d1ba338e"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#BasicSetTheory"><span class="id" title="section">BasicSetTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="inE"><span class="id" title="definition">inE</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#in_set"><span class="id" title="lemma">in_set</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#inE"><span class="id" title="definition">inE</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">in_setT</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">&quot;</span></a>[ 'set' : T ]" := (<a class="idref" href="mathcomp.ssreflect.finset.html#setTfor"><span class="id" title="definition">setTfor</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">T</span>))<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> "[ 'set' : T ]") : <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="setT"><span class="id" title="abbreviation">setT</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">]</span></a> (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="setOpsDefs"><span class="id" title="section">setOpsDefs</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="setOpsDefs.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">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">a</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsDefs.T"><span class="id" title="variable">T</span></a>) (<span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsDefs.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsDefs.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}}</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="set1"><span class="id" title="definition">set1</span></a> <span class="id" title="var">a</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="setC"><span class="id" title="definition">setC</span></a> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="setD"><span class="id" title="definition">setD</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="ssetI"><span class="id" title="definition">ssetI</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="powerset"><span class="id" title="definition">powerset</span></a> <span class="id" title="var">D</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">set</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsDefs.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsDefs"><span class="id" title="section">setOpsDefs</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">&quot;</span></a>[ 'set' a ]" := (<a class="idref" href="mathcomp.ssreflect.finset.html#set1"><span class="id" title="definition">set1</span></a> <span class="id" title="var">a</span>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">a</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span> "[ 'set' a ]") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="0de2fde8eba29d63315f778fbf9ab5c0"><span class="id" title="notation">&quot;</span></a>[ 'set' a : T ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">(</span></a><span class="id" title="var">a</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> <span class="id" title="var">T</span><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><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">a</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span> "[ 'set' a : T ]") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="52f608a788da136ac97df132d7055463"><span class="id" title="notation">&quot;</span></a>A :|: B" := (<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">&quot;</span></a>a |: A" := (<a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <span class="id" title="var">a</span><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <span class="id" title="var">A</span>) : <span class="id" title="var">set_scope</span>.<br/>
+</div>
+
+<div class="doc">
+ This is left-associative due to historical limitations of the .. Notation.
+</div>
+<div class="code">
+<span class="id" title="keyword">Notation</span> <a name="d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">&quot;</span></a>[ 'set' a1 ; a2 ; .. ; an ]" := (<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> .. (<span class="id" title="var">a1</span> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <span class="id" title="var">a2</span><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a>) .. <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <span class="id" title="var">an</span><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><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">a1</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99,<br/>
+&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "[ 'set' a1 ; a2 ; .. ; an ]") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">&quot;</span></a>A :&amp;: B" := (<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">&quot;</span></a>~: A" := (<a class="idref" href="mathcomp.ssreflect.finset.html#setC"><span class="id" title="definition">setC</span></a> <span class="id" title="var">A</span>) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 35, <span class="id" title="tactic">right</span> <span class="id" title="keyword">associativity</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">&quot;</span></a>[ 'set' ~ a ]" := (<a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <span class="id" title="var">a</span><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><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> "[ 'set' ~ a ]") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">&quot;</span></a>A :\: B" := (<a class="idref" href="mathcomp.ssreflect.finset.html#setD"><span class="id" title="definition">setD</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">&quot;</span></a>A :\ a" := (<span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <span class="id" title="var">a</span><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="2dab1b186f22df1296e4090457f5abb0"><span class="id" title="notation">&quot;</span></a>P ::&amp;: D" := (<a class="idref" href="mathcomp.ssreflect.finset.html#ssetI"><span class="id" title="definition">ssetI</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span>) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 48) : <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="setOps"><span class="id" title="section">setOps</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="setOps.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">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">a</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a>) (<span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">pA</span> <span class="id" title="var">pB</span> <span class="id" title="var">pC</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.finset.html#setOps.T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqEsubset"><span class="id" title="lemma">eqEsubset</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subEproper"><span class="id" title="lemma">subEproper</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqVproper"><span class="id" title="lemma">eqVproper</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properEneq"><span class="id" title="lemma">properEneq</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="proper_neq"><span class="id" title="lemma">proper_neq</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqEproper"><span class="id" title="lemma">eqEproper</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqEcard"><span class="id" title="lemma">eqEcard</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properEcard"><span class="id" title="lemma">properEcard</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subset_leqif_cards"><span class="id" title="lemma">subset_leqif_cards</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">iff</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_set0"><span class="id" title="lemma">in_set0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub0set"><span class="id" title="lemma">sub0set</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subset0"><span class="id" title="lemma">subset0</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="proper0"><span class="id" title="lemma">proper0</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subset_neq0"><span class="id" title="lemma">subset_neq0</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="http://coq.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.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set_0Vmem"><span class="id" title="lemma">set_0Vmem</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#3dcaec3b772747610227247939f96b01"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#3dcaec3b772747610227247939f96b01"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#3dcaec3b772747610227247939f96b01"><span class="id" title="notation">+</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">{</span></a><span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="enum_set0"><span class="id" title="lemma">enum_set0</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.finset.html#set0"><span class="id" title="definition">set0</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.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&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.finset.html#setOps.T"><span class="id" title="variable">T</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetT"><span class="id" title="lemma">subsetT</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetT_hint"><span class="id" title="lemma">subsetT_hint</span></a> <span class="id" title="var">mA</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#SubsetDef.subset"><span class="id" title="axiom">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#mA"><span class="id" title="variable">mA</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.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">]</span></a>).<br/>
+ <span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">subsetT_hint</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subTset"><span class="id" title="lemma">subTset</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properT"><span class="id" title="lemma">properT</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set1P"><span class="id" title="lemma">set1P</span></a> <span class="id" title="var">x</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#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#a"><span class="id" title="variable">a</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="enum_setT"><span class="id" title="lemma">enum_setT</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.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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#Finite.enum"><span class="id" title="abbreviation">Finite.enum</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_set1"><span class="id" title="lemma">in_set1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">a</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set11"><span class="id" title="lemma">set11</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set1_inj"><span class="id" title="lemma">set1_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (@<a class="idref" href="mathcomp.ssreflect.finset.html#set1"><span class="id" title="definition">set1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="enum_set1"><span class="id" title="lemma">enum_set1</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#enum"><span class="id" title="abbreviation">enum</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><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#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setU1P"><span class="id" title="lemma">setU1P</span></a> <span class="id" title="var">x</span> <span class="id" title="var">a</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_setU1"><span class="id" title="lemma">in_setU1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">a</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set_cons"><span class="id" title="lemma">set_cons</span></a> <span class="id" title="var">a</span> <span class="id" title="var">s</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><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.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setU11"><span class="id" title="lemma">setU11</span></a> <span class="id" title="var">x</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setU1r"><span class="id" title="lemma">setU1r</span></a> <span class="id" title="var">x</span> <span class="id" title="var">a</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ We need separate lemmas for the explicit enumerations since they
+ associate on the left.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="set1Ul"><span class="id" title="lemma">set1Ul</span></a> <span class="id" title="var">x</span> <span class="id" title="var">A</span> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set1Ur"><span class="id" title="lemma">set1Ur</span></a> <span class="id" title="var">A</span> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_setC1"><span class="id" title="lemma">in_setC1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">a</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setC11"><span class="id" title="lemma">setC11</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setD1P"><span class="id" title="lemma">setD1P</span></a> <span class="id" title="var">x</span> <span class="id" title="var">A</span> <span class="id" title="var">b</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">:\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_setD1"><span class="id" title="lemma">in_setD1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">A</span> <span class="id" title="var">b</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">:\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> .<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setD11"><span class="id" title="lemma">setD11</span></a> <span class="id" title="var">b</span> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">:\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setD1K"><span class="id" title="lemma">setD1K</span></a> <span class="id" title="var">a</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">:\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><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.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setU1K"><span class="id" title="lemma">setU1K</span></a> <span class="id" title="var">a</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">:\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set2P"><span class="id" title="lemma">set2P</span></a> <span class="id" title="var">x</span> <span class="id" title="var">a</span> <span class="id" title="var">b</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#b"><span class="id" title="variable">b</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">]</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_set2"><span class="id" title="lemma">in_set2</span></a> <span class="id" title="var">x</span> <span class="id" title="var">a</span> <span class="id" title="var">b</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set21"><span class="id" title="lemma">set21</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set22"><span class="id" title="lemma">set22</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUP"><span class="id" title="lemma">setUP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_setU"><span class="id" title="lemma">in_setU</span></a> <span class="id" title="var">x</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUC"><span class="id" title="lemma">setUC</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUS"><span class="id" title="lemma">setUS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setSU"><span class="id" title="lemma">setSU</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUSS"><span class="id" title="lemma">setUSS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set0U"><span class="id" title="lemma">set0U</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setU0"><span class="id" title="lemma">setU0</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUA"><span class="id" title="lemma">setUA</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUCA"><span class="id" title="lemma">setUCA</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><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.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUAC"><span class="id" title="lemma">setUAC</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUACA"><span class="id" title="lemma">setUACA</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><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.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setTU"><span class="id" title="lemma">setTU</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUT"><span class="id" title="lemma">setUT</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="http://coq.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.finset.html#setT"><span class="id" title="abbreviation">setT</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUid"><span class="id" title="lemma">setUid</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUUl"><span class="id" title="lemma">setUUl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUUr"><span class="id" title="lemma">setUUr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><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.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ intersection
+<div class="paragraph"> </div>
+
+ setIdP is a generalisation of setIP that applies to comprehensions.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="setIdP"><span class="id" title="lemma">setIdP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">pA</span> <span class="id" title="var">pB</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#pA"><span class="id" title="variable">pA</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pB"><span class="id" title="variable">pB</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pA"><span class="id" title="variable">pA</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pB"><span class="id" title="variable">pB</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">]</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setId2P"><span class="id" title="lemma">setId2P</span></a> <span class="id" title="var">x</span> <span class="id" title="var">pA</span> <span class="id" title="var">pB</span> <span class="id" title="var">pC</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pA"><span class="id" title="variable">pA</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pB"><span class="id" title="variable">pB</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pC"><span class="id" title="variable">pC</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pA"><span class="id" title="variable">pA</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pB"><span class="id" title="variable">pB</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pC"><span class="id" title="variable">pC</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">]</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIdE"><span class="id" title="lemma">setIdE</span></a> <span class="id" title="var">A</span> <span class="id" title="var">pB</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pB"><span class="id" title="variable">pB</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pB"><span class="id" title="variable">pB</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIP"><span class="id" title="lemma">setIP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_setI"><span class="id" title="lemma">in_setI</span></a> <span class="id" title="var">x</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIC"><span class="id" title="lemma">setIC</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIS"><span class="id" title="lemma">setIS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setSI"><span class="id" title="lemma">setSI</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setISS"><span class="id" title="lemma">setISS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setTI"><span class="id" title="lemma">setTI</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIT"><span class="id" title="lemma">setIT</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set0I"><span class="id" title="lemma">set0I</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setI0"><span class="id" title="lemma">setI0</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="http://coq.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.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIA"><span class="id" title="lemma">setIA</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setICA"><span class="id" title="lemma">setICA</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><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.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIAC"><span class="id" title="lemma">setIAC</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIACA"><span class="id" title="lemma">setIACA</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><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.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIid"><span class="id" title="lemma">setIid</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIIl"><span class="id" title="lemma">setIIl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIIr"><span class="id" title="lemma">setIIr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><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.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ distribute /cancel
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIUr"><span class="id" title="lemma">setIUr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><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.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIUl"><span class="id" title="lemma">setIUl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUIr"><span class="id" title="lemma">setUIr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><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.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUIl"><span class="id" title="lemma">setUIl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUK"><span class="id" title="lemma">setUK</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setKU"><span class="id" title="lemma">setKU</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIK"><span class="id" title="lemma">setIK</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setKI"><span class="id" title="lemma">setKI</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><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.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ complement
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setCP"><span class="id" title="lemma">setCP</span></a> <span class="id" title="var">x</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#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#611abc97cba304de784fa909dbdea1fa"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_setC"><span class="id" title="lemma">in_setC</span></a> <span class="id" title="var">x</span> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setCK"><span class="id" title="lemma">setCK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> (@<a class="idref" href="mathcomp.ssreflect.finset.html#setC"><span class="id" title="definition">setC</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setC_inj"><span class="id" title="lemma">setC_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (@<a class="idref" href="mathcomp.ssreflect.finset.html#setC"><span class="id" title="definition">setC</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsets_disjoint"><span class="id" title="lemma">subsets_disjoint</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="disjoints_subset"><span class="id" title="lemma">disjoints_subset</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="powersetCE"><span class="id" title="lemma">powersetCE</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#powerset"><span class="id" title="definition">powerset</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setCS"><span class="id" title="lemma">setCS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setCU"><span class="id" title="lemma">setCU</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><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.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setCI"><span class="id" title="lemma">setCI</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><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.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUCr"><span class="id" title="lemma">setUCr</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setICr"><span class="id" title="lemma">setICr</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setC0"><span class="id" title="lemma">setC0</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="http://coq.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.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setCT"><span class="id" title="lemma">setCT</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ difference
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDP"><span class="id" title="lemma">setDP</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <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="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_setD"><span class="id" title="lemma">in_setD</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDE"><span class="id" title="lemma">setDE</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setSD"><span class="id" title="lemma">setSD</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDS"><span class="id" title="lemma">setDS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDSS"><span class="id" title="lemma">setDSS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setD0"><span class="id" title="lemma">setD0</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set0D"><span class="id" title="lemma">set0D</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDT"><span class="id" title="lemma">setDT</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="http://coq.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.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setTD"><span class="id" title="lemma">setTD</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDv"><span class="id" title="lemma">setDv</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setCD"><span class="id" title="lemma">setCD</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><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.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setID"><span class="id" title="lemma">setID</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDUl"><span class="id" title="lemma">setDUl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDUr"><span class="id" title="lemma">setDUr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><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.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDIl"><span class="id" title="lemma">setDIl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIDA"><span class="id" title="lemma">setIDA</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><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.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIDAC"><span class="id" title="lemma">setIDAC</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDIr"><span class="id" title="lemma">setDIr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><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.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDDl"><span class="id" title="lemma">setDDl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDDr"><span class="id" title="lemma">setDDr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><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.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ powerset
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="powersetE"><span class="id" title="lemma">powersetE</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#powerset"><span class="id" title="definition">powerset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="powersetS"><span class="id" title="lemma">powersetS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#powerset"><span class="id" title="definition">powerset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#powerset"><span class="id" title="definition">powerset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="powerset0"><span class="id" title="lemma">powerset0</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#powerset"><span class="id" title="definition">powerset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</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.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="powersetT"><span class="id" title="lemma">powersetT</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#powerset"><span class="id" title="definition">powerset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setI_powerset"><span class="id" title="lemma">setI_powerset</span></a> <span class="id" title="var">P</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#powerset"><span class="id" title="definition">powerset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#2dab1b186f22df1296e4090457f5abb0"><span class="id" title="notation">::&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ cardinal lemmas for sets
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsE"><span class="id" title="lemma">cardsE</span></a> <span class="id" title="var">pA</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pA"><span class="id" title="variable">pA</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><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.finset.html#pA"><span class="id" title="variable">pA</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sum1dep_card"><span class="id" title="lemma">sum1dep_card</span></a> <span class="id" title="var">pA</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pA"><span class="id" title="variable">pA</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">)</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pA"><span class="id" title="variable">pA</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sum_nat_dep_const"><span class="id" title="lemma">sum_nat_dep_const</span></a> <span class="id" title="var">pA</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pA"><span class="id" title="variable">pA</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#fc4dacaf383de64a30be0f81bf2f232f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pA"><span class="id" title="variable">pA</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><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.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cards0"><span class="id" title="lemma">cards0</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cards_eq0"><span class="id" title="lemma">cards_eq0</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set0Pn"><span class="id" title="lemma">set0Pn</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#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">x</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.finset.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.finset.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_gt0"><span class="id" title="lemma">card_gt0</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cards0_eq"><span class="id" title="lemma">cards0_eq</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cards1"><span class="id" title="lemma">cards1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><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> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsUI"><span class="id" title="lemma">cardsUI</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsU"><span class="id" title="lemma">cardsU</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsI"><span class="id" title="lemma">cardsI</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsT"><span class="id" title="lemma">cardsT</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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.finset.html#setOps.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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsID"><span class="id" title="lemma">cardsID</span></a> <span class="id" title="var">B</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsD"><span class="id" title="lemma">cardsD</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsC"><span class="id" title="lemma">cardsC</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setOps.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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsCs"><span class="id" title="lemma">cardsCs</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setOps.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#9482aae3d3b06e249765c1225dbb8cbb"><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.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsU1"><span class="id" title="lemma">cardsU1</span></a> <span class="id" title="var">a</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cards2"><span class="id" title="lemma">cards2</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><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.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">).+1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsC1"><span class="id" title="lemma">cardsC1</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#53644c0705fb2aebfd3872739104866a"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#53644c0705fb2aebfd3872739104866a"><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.finset.html#setOps.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#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">.-1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsD1"><span class="id" title="lemma">cardsD1</span></a> <span class="id" title="var">a</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">:\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ other inclusions
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetIl"><span class="id" title="lemma">subsetIl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetIr"><span class="id" title="lemma">subsetIr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetUl"><span class="id" title="lemma">subsetUl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetUr"><span class="id" title="lemma">subsetUr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetU1"><span class="id" title="lemma">subsetU1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetDl"><span class="id" title="lemma">subsetDl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subD1set"><span class="id" title="lemma">subD1set</span></a> <span class="id" title="var">A</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">:\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetDr"><span class="id" title="lemma">subsetDr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub1set"><span class="id" title="lemma">sub1set</span></a> <span class="id" title="var">A</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cards1P"><span class="id" title="lemma">cards1P</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#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">x</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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subset1"><span class="id" title="lemma">subset1</span></a> <span class="id" title="var">A</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="powerset1"><span class="id" title="lemma">powerset1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#powerset"><span class="id" title="definition">powerset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><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.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d251cae482ceced9589c8a2b3df261e7"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIidPl"><span class="id" title="lemma">setIidPl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setIidPr"><span class="id" title="lemma">setIidPr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsDS"><span class="id" title="lemma">cardsDS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUidPl"><span class="id" title="lemma">setUidPl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setUidPr"><span class="id" title="lemma">setUidPr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setDidPl"><span class="id" title="lemma">setDidPl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subIset"><span class="id" title="lemma">subIset</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetI"><span class="id" title="lemma">subsetI</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetIP"><span class="id" title="lemma">subsetIP</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetIidl"><span class="id" title="lemma">subsetIidl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetIidr"><span class="id" title="lemma">subsetIidr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="powersetI"><span class="id" title="lemma">powersetI</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#powerset"><span class="id" title="definition">powerset</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#powerset"><span class="id" title="definition">powerset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#powerset"><span class="id" title="definition">powerset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subUset"><span class="id" title="lemma">subUset</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetU"><span class="id" title="lemma">subsetU</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subUsetP"><span class="id" title="lemma">subUsetP</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetC"><span class="id" title="lemma">subsetC</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subCset"><span class="id" title="lemma">subCset</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetD"><span class="id" title="lemma">subsetD</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subDset"><span class="id" title="lemma">subDset</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetDP"><span class="id" title="lemma">subsetDP</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setU_eq0"><span class="id" title="lemma">setU_eq0</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setD_eq0"><span class="id" title="lemma">setD_eq0</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setI_eq0"><span class="id" title="lemma">setI_eq0</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="disjoint_setI0"><span class="id" title="lemma">disjoint_setI0</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetD1"><span class="id" title="lemma">subsetD1</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">:\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subsetD1P"><span class="id" title="lemma">subsetD1P</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <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="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">:\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properD1"><span class="id" title="lemma">properD1</span></a> <span class="id" title="var">A</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">:\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properIr"><span class="id" title="lemma">properIr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properIl"><span class="id" title="lemma">properIl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properUr"><span class="id" title="lemma">properUr</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properUl"><span class="id" title="lemma">properUl</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="proper1set"><span class="id" title="lemma">proper1set</span></a> <span class="id" title="var">A</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properIset"><span class="id" title="lemma">properIset</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properI"><span class="id" title="lemma">properI</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properU"><span class="id" title="lemma">properU</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="properD"><span class="id" title="lemma">properD</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#setOps"><span class="id" title="section">setOps</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">subsetT_hint</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="setOpsAlgebra"><span class="id" title="section">setOpsAlgebra</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">Monoid</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="setOpsAlgebra.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">setI_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Law"><span class="id" title="constructor">Law</span></a> (@<a class="idref" href="mathcomp.ssreflect.finset.html#setIA"><span class="id" title="lemma">setIA</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>) (@<a class="idref" href="mathcomp.ssreflect.finset.html#setTI"><span class="id" title="lemma">setTI</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>) (@<a class="idref" href="mathcomp.ssreflect.finset.html#setIT"><span class="id" title="lemma">setIT</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">setI_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.ComLaw"><span class="id" title="constructor">ComLaw</span></a> (@<a class="idref" href="mathcomp.ssreflect.finset.html#setIC"><span class="id" title="lemma">setIC</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">setI_muloid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.MulLaw"><span class="id" title="constructor">MulLaw</span></a> (@<a class="idref" href="mathcomp.ssreflect.finset.html#set0I"><span class="id" title="lemma">set0I</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>) (@<a class="idref" href="mathcomp.ssreflect.finset.html#setI0"><span class="id" title="lemma">setI0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">setU_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Law"><span class="id" title="constructor">Law</span></a> (@<a class="idref" href="mathcomp.ssreflect.finset.html#setUA"><span class="id" title="lemma">setUA</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>) (@<a class="idref" href="mathcomp.ssreflect.finset.html#set0U"><span class="id" title="lemma">set0U</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>) (@<a class="idref" href="mathcomp.ssreflect.finset.html#setU0"><span class="id" title="lemma">setU0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">setU_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.ComLaw"><span class="id" title="constructor">ComLaw</span></a> (@<a class="idref" href="mathcomp.ssreflect.finset.html#setUC"><span class="id" title="lemma">setUC</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">setU_muloid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.MulLaw"><span class="id" title="constructor">MulLaw</span></a> (@<a class="idref" href="mathcomp.ssreflect.finset.html#setTU"><span class="id" title="lemma">setTU</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>) (@<a class="idref" href="mathcomp.ssreflect.finset.html#setUT"><span class="id" title="lemma">setUT</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">setI_addoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.AddLaw"><span class="id" title="constructor">AddLaw</span></a> (@<a class="idref" href="mathcomp.ssreflect.finset.html#setUIl"><span class="id" title="lemma">setUIl</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>) (@<a class="idref" href="mathcomp.ssreflect.finset.html#setUIr"><span class="id" title="lemma">setUIr</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">setU_addoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.AddLaw"><span class="id" title="constructor">AddLaw</span></a> (@<a class="idref" href="mathcomp.ssreflect.finset.html#setIUl"><span class="id" title="lemma">setIUl</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>) (@<a class="idref" href="mathcomp.ssreflect.finset.html#setIUr"><span class="id" title="lemma">setIUr</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra.T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#setOpsAlgebra"><span class="id" title="section">setOpsAlgebra</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="CartesianProd"><span class="id" title="section">CartesianProd</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="CartesianProd.fT1"><span class="id" title="variable">fT1</span></a> <a name="CartesianProd.fT2"><span class="id" title="variable">fT2</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="CartesianProd.A1"><span class="id" title="variable">A1</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CartesianProd.fT1"><span class="id" title="variable">fT1</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<a name="CartesianProd.A2"><span class="id" title="variable">A2</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CartesianProd.fT2"><span class="id" title="variable">fT2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="setX"><span class="id" title="definition">setX</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">set</span></a> <span class="id" title="var">u</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#CartesianProd.A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</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.finset.html#CartesianProd.A2"><span class="id" title="variable">A2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8251b84d533463822c9c970f6c348cb"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_setX"><span class="id" title="lemma">in_setX</span></a> <span class="id" title="var">x1</span> <span class="id" title="var">x2</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#x1"><span class="id" title="variable">x1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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">\</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.finset.html#setX"><span class="id" title="definition">setX</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#x1"><span class="id" title="variable">x1</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.finset.html#CartesianProd.A1"><span class="id" title="variable">A1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#x2"><span class="id" title="variable">x2</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.finset.html#CartesianProd.A2"><span class="id" title="variable">A2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setXP"><span class="id" title="lemma">setXP</span></a> <span class="id" title="var">x1</span> <span class="id" title="var">x2</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#x1"><span class="id" title="variable">x1</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.finset.html#CartesianProd.A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x2"><span class="id" title="variable">x2</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.finset.html#CartesianProd.A2"><span class="id" title="variable">A2</span></a>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#x1"><span class="id" title="variable">x1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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">\</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.finset.html#setX"><span class="id" title="definition">setX</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cardsX"><span class="id" title="lemma">cardsX</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setX"><span class="id" title="definition">setX</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.finset.html#CartesianProd.A1"><span class="id" title="variable">A1</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#CartesianProd.A2"><span class="id" title="variable">A2</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#CartesianProd"><span class="id" title="section">CartesianProd</span></a>.<br/>
+
+<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Type</span> <a name="ImsetSig"><span class="id" title="module">ImsetSig</span></a>.<br/>
+<span class="id" title="keyword">Parameter</span> <a name="ImsetSig.imset"><span class="id" title="axiom">imset</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">aT</span> <span class="id" title="var">rT</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>,<br/>
+&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.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.finset.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem_pred"><span class="id" title="inductive">mem_pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.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.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>.<br/>
+<span class="id" title="keyword">Parameter</span> <a name="ImsetSig.imset2"><span class="id" title="axiom">imset2</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">aT1</span> <span class="id" title="var">aT2</span> <span class="id" title="var">rT</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>,<br/>
+&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#aT1"><span class="id" title="variable">aT1</span></a> <a class="idref" href="http://coq.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.finset.html#aT2"><span class="id" title="variable">aT2</span></a> <a class="idref" href="http://coq.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.finset.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem_pred"><span class="id" title="inductive">mem_pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aT1"><span class="id" title="variable">aT1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#aT1"><span class="id" title="variable">aT1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem_pred"><span class="id" title="inductive">mem_pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aT2"><span class="id" title="variable">aT2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>.<br/>
+<span class="id" title="keyword">Axiom</span> <a name="ImsetSig.imsetE"><span class="id" title="axiom">imsetE</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetSig.imset"><span class="id" title="axiom">imset</span></a> <a class="idref" href="http://coq.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.finset.html#imset_def"><span class="id" title="abbreviation">imset_def</span></a>.<br/>
+<span class="id" title="keyword">Axiom</span> <a name="ImsetSig.imset2E"><span class="id" title="axiom">imset2E</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetSig.imset2"><span class="id" title="axiom">imset2</span></a> <a class="idref" href="http://coq.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.finset.html#imset2_def"><span class="id" title="abbreviation">imset2_def</span></a>.<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetSig"><span class="id" title="module">ImsetSig</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <a name="Imset"><span class="id" title="module">Imset</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetSig"><span class="id" title="module">ImsetSig</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Imset.imset"><span class="id" title="definition">imset</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#imset_def"><span class="id" title="abbreviation">imset_def</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Imset.imset2"><span class="id" title="definition">imset2</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#imset2_def"><span class="id" title="abbreviation">imset2_def</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Imset.imsetE"><span class="id" title="lemma">imsetE</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#Imset.imset"><span class="id" title="definition">imset</span></a> <a class="idref" href="http://coq.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.finset.html#imset_def"><span class="id" title="abbreviation">imset_def</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="Imset.imset2E"><span class="id" title="lemma">imset2E</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#Imset.imset2"><span class="id" title="definition">imset2</span></a> <a class="idref" href="http://coq.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.finset.html#imset2_def"><span class="id" title="abbreviation">imset2_def</span></a>. <br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#Imset"><span class="id" title="module">Imset</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="imset"><span class="id" title="abbreviation">imset</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#imset"><span class="id" title="axiom">Imset.imset</span></a>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="imset2"><span class="id" title="abbreviation">imset2</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#imset2"><span class="id" title="axiom">Imset.imset2</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">imset_unlock</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Unlockable"><span class="id" title="constructor">Unlockable</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#imsetE"><span class="id" title="axiom">Imset.imsetE</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">imset2_unlock</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Unlockable"><span class="id" title="constructor">Unlockable</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#imset2E"><span class="id" title="axiom">Imset.imset2E</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="preimset"><span class="id" title="definition">preimset</span></a> (<span class="id" title="var">aT</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">rT</span> <span class="id" title="var">f</span> (<span class="id" title="var">R</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem_pred"><span class="id" title="inductive">mem_pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#rT"><span class="id" title="variable">rT</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#in_mem"><span class="id" title="definition">in_mem</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.finset.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">&quot;</span></a>f @^-1: A" := (<a class="idref" href="mathcomp.ssreflect.finset.html#preimset"><span class="id" title="definition">preimset</span></a> <span class="id" title="var">f</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">A</span>)) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 24) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">&quot;</span></a>f @: A" := (<a class="idref" href="mathcomp.ssreflect.finset.html#imset"><span class="id" title="abbreviation">imset</span></a> <span class="id" title="var">f</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">A</span>)) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 24) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">&quot;</span></a>f @2: ( A , B )" := (<a class="idref" href="mathcomp.ssreflect.finset.html#imset2"><span class="id" title="abbreviation">imset2</span></a> <span class="id" title="var">f</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">A</span>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">B</span>))<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 24, <span class="id" title="var">format</span> "f @2: ( A , B )") : <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Comprehensions
+</div>
+<div class="code">
+<span class="id" title="keyword">Notation</span> <a name="c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x 'in' A ]" := (<a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">(</span></a><span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <span class="id" title="var">E</span><a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <span class="id" title="var">A</span>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">E</span>, <span class="id" title="var">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99,<br/>
+&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "[ '[hv' 'set' E '/ ' | x 'in' A ] ']'") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="182f0780f81053a8ec00cd0f2bb25536"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x 'in' A &amp; P ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><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">E</span>, <span class="id" title="var">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99,<br/>
+&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "[ '[hv' 'set' E '/ ' | x 'in' A '/ ' &amp; P ] ']'") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x 'in' A , y 'in' B ]" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.finset.html#imset2"><span class="id" title="abbreviation">imset2</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <span class="id" title="var">E</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">A</span>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">B</span>)))<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv' 'set' E '/ ' | x 'in' A , '/ ' y 'in' B ] ']'"<br/>
+&nbsp;&nbsp;) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="cbd91f75d319d6d9a2d587d4cdfd1a36"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x 'in' A , y 'in' B &amp; P ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv' 'set' E '/ ' | x 'in' A , '/ ' y 'in' B '/ ' &amp; P ] ']'"<br/>
+&nbsp;&nbsp;) : <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Typed variants.
+</div>
+<div class="code">
+<span class="id" title="keyword">Notation</span> <a name="5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T 'in' A ]" := (<a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">(</span></a><span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> : <span class="id" title="var">T</span> ⇒ <span class="id" title="var">E</span><a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <span class="id" title="var">A</span>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">E</span>, <span class="id" title="var">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="365c9418ceaaa084183cf005793f4249"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T 'in' A &amp; P ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><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">E</span>, <span class="id" title="var">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T 'in' A , y : U 'in' B ]" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.finset.html#imset2"><span class="id" title="abbreviation">imset2</span></a> (<span class="id" title="keyword">fun</span> (<span class="id" title="var">x</span> : <span class="id" title="var">T</span>) (<span class="id" title="var">y</span> : <span class="id" title="var">U</span>) ⇒ <span class="id" title="var">E</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">A</span>) (<span class="id" title="keyword">fun</span> (<span class="id" title="var">x</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#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">B</span>)))<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="f6f86a82329cee7150a4c6326b98c5a5"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T 'in' A , y : U 'in' B &amp; P ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">in</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#e6ed8c730df9d279cb8b0aa48c1051d8"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Comprehensions over a type.
+</div>
+<div class="code">
+<span class="id" title="keyword">Notation</span> <a name="9bec3dbc223d3a73a4313891424fe63e"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#predOfType"><span class="id" title="abbreviation">predOfType</span></a> <span class="id" title="var">T</span><a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><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">E</span>, <span class="id" title="var">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99,<br/>
+&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "[ '[hv' 'set' E '/ ' | x : T ] ']'") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="8b685df039e1540d8c7d0b84cfbf67c1"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T &amp; P ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#d086f256e0c3de938a1d3ad3965b5d4b"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#5cf31800fc5e9fd642688dc6b4ee9277"><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">E</span>, <span class="id" title="var">x</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99,<br/>
+&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "[ '[hv' 'set' E '/ ' | x : T '/ ' &amp; P ] ']'") : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T , y : U 'in' B ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#predOfType"><span class="id" title="abbreviation">predOfType</span></a> <span class="id" title="var">T</span><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">in</span></a> <span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv' 'set' E '/ ' | x : T , '/ ' y : U 'in' B ] ']'")<br/>
+&nbsp;&nbsp;&nbsp;: <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a45faed1552c41492150e103f241dd99"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T , y : U 'in' B &amp; P ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;"[ '[hv ' 'set' E '/' | x : T , '/ ' y : U 'in' B '/' &amp; P ] ']'"<br/>
+&nbsp;&nbsp;) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a85ccca8d3d0b99676953e6cf8ffcfa9"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T 'in' A , y : U ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#predOfType"><span class="id" title="abbreviation">predOfType</span></a> <span class="id" title="var">U</span><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv' 'set' E '/ ' | x : T 'in' A , '/ ' y : U ] ']'")<br/>
+&nbsp;&nbsp;&nbsp;: <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="355d9c1f8d379771c7f6fb45d7f62027"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T 'in' A , y : U &amp; P ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">in</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b5f01dc17569dfa7ff26d529b9e0ab60"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv' 'set' E '/ ' | x : T 'in' A , '/ ' y : U &amp; P ] ']'")<br/>
+&nbsp;&nbsp;&nbsp;: <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="75c3a164e42365d1108e68f824ddca6d"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T , y : U ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#predOfType"><span class="id" title="abbreviation">predOfType</span></a> <span class="id" title="var">U</span><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv' 'set' E '/ ' | x : T , '/ ' y : U ] ']'")<br/>
+&nbsp;&nbsp;&nbsp;: <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="5e8f02ac04e45d4f7e06ba3fe05753f2"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x : T , y : U &amp; P ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">in</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv' 'set' E '/ ' | x : T , '/ ' y : U &amp; P ] ']'")<br/>
+&nbsp;&nbsp;&nbsp;: <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Untyped variants.
+</div>
+<div class="code">
+<span class="id" title="keyword">Notation</span> <a name="8f810d4e609bec9eaa5514b78e0e3cc3"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x , y 'in' B ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><span class="id" title="notation">in</span></a> <span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.finset.html#d643fe4f2d6afe4b15f397bd623deff7"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="12fc5f573235e94171a75f806b048350"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x , y 'in' B &amp; P ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#a45faed1552c41492150e103f241dd99"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a45faed1552c41492150e103f241dd99"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a45faed1552c41492150e103f241dd99"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a45faed1552c41492150e103f241dd99"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#a45faed1552c41492150e103f241dd99"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a45faed1552c41492150e103f241dd99"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a45faed1552c41492150e103f241dd99"><span class="id" title="notation">in</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a45faed1552c41492150e103f241dd99"><span class="id" title="notation">&amp;</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#a45faed1552c41492150e103f241dd99"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="203a9fc67cc39315fe4fc09a3725e106"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x 'in' A , y ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#a85ccca8d3d0b99676953e6cf8ffcfa9"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a85ccca8d3d0b99676953e6cf8ffcfa9"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a85ccca8d3d0b99676953e6cf8ffcfa9"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a85ccca8d3d0b99676953e6cf8ffcfa9"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a85ccca8d3d0b99676953e6cf8ffcfa9"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.finset.html#a85ccca8d3d0b99676953e6cf8ffcfa9"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a85ccca8d3d0b99676953e6cf8ffcfa9"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#a85ccca8d3d0b99676953e6cf8ffcfa9"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="2586fa5c33a6c829f717b4a0ff6bda07"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x 'in' A , y &amp; P ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#355d9c1f8d379771c7f6fb45d7f62027"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#355d9c1f8d379771c7f6fb45d7f62027"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#355d9c1f8d379771c7f6fb45d7f62027"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#355d9c1f8d379771c7f6fb45d7f62027"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.finset.html#355d9c1f8d379771c7f6fb45d7f62027"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.finset.html#355d9c1f8d379771c7f6fb45d7f62027"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#355d9c1f8d379771c7f6fb45d7f62027"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.finset.html#355d9c1f8d379771c7f6fb45d7f62027"><span class="id" title="notation">&amp;</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#355d9c1f8d379771c7f6fb45d7f62027"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="6673db5078b5b33033934f9b0846b706"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x , y ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#75c3a164e42365d1108e68f824ddca6d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#75c3a164e42365d1108e68f824ddca6d"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#75c3a164e42365d1108e68f824ddca6d"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#75c3a164e42365d1108e68f824ddca6d"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#75c3a164e42365d1108e68f824ddca6d"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#75c3a164e42365d1108e68f824ddca6d"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#75c3a164e42365d1108e68f824ddca6d"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="61bf0803a08485a1f369f8a406f62baf"><span class="id" title="notation">&quot;</span></a>[ 'set' E | x , y &amp; P ]" := <a class="idref" href="mathcomp.ssreflect.finset.html#5e8f02ac04e45d4f7e06ba3fe05753f2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#5e8f02ac04e45d4f7e06ba3fe05753f2"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5e8f02ac04e45d4f7e06ba3fe05753f2"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5e8f02ac04e45d4f7e06ba3fe05753f2"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.finset.html#5e8f02ac04e45d4f7e06ba3fe05753f2"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5e8f02ac04e45d4f7e06ba3fe05753f2"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5e8f02ac04e45d4f7e06ba3fe05753f2"><span class="id" title="notation">&amp;</span></a> <span class="id" title="var">P</span> <a class="idref" href="mathcomp.ssreflect.finset.html#5e8f02ac04e45d4f7e06ba3fe05753f2"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Print-only variants to work around the Coq pretty-printer K-term kink.
+</div>
+<div class="code">
+<span class="id" title="keyword">Notation</span> <a name="f734de528963d21fe43c860fb895bee4"><span class="id" title="notation">&quot;</span></a>[ 'se' 't' E | x 'in' A , y 'in' B ]" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.finset.html#imset2"><span class="id" title="abbreviation">imset2</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <span class="id" title="var">E</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">A</span>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">B</span>))<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv' 'se' 't' E '/ ' | x 'in' A , '/ ' y 'in' B ] ']'")<br/>
+&nbsp;&nbsp;&nbsp;: <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a16511837025c0a32e9e858a9f7fb846"><span class="id" title="notation">&quot;</span></a>[ 'se' 't' E | x 'in' A , y 'in' B &amp; P ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#f734de528963d21fe43c860fb895bee4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f734de528963d21fe43c860fb895bee4"><span class="id" title="notation">se</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f734de528963d21fe43c860fb895bee4"><span class="id" title="notation">t</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#f734de528963d21fe43c860fb895bee4"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#f734de528963d21fe43c860fb895bee4"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.finset.html#f734de528963d21fe43c860fb895bee4"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#f734de528963d21fe43c860fb895bee4"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f734de528963d21fe43c860fb895bee4"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;"[ '[hv ' 'se' 't' E '/' | x 'in' A , '/ ' y 'in' B '/' &amp; P ] ']'"<br/>
+&nbsp;&nbsp;) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">&quot;</span></a>[ 'se' 't' E | x : T , y : U 'in' B ]" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.finset.html#imset2"><span class="id" title="abbreviation">imset2</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> (<span class="id" title="var">y</span> : <span class="id" title="var">U</span>) ⇒ <span class="id" title="var">E</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#predOfType"><span class="id" title="abbreviation">predOfType</span></a> <span class="id" title="var">T</span>)) (<span class="id" title="keyword">fun</span> <span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">B</span>))<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv ' 'se' 't' E '/' | x : T , '/ ' y : U 'in' B ] ']'")<br/>
+&nbsp;&nbsp;&nbsp;: <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="21438121be54df3d708128c096ada8e5"><span class="id" title="notation">&quot;</span></a>[ 'se' 't' E | x : T , y : U 'in' B &amp; P ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">se</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">t</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span><a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+"[ '[hv ' 'se' 't' E '/' | x : T , '/ ' y : U 'in' B '/' &amp; P ] ']'"<br/>
+&nbsp;&nbsp;) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="09e3fb3d210299ec3c457ca247d3cfe4"><span class="id" title="notation">&quot;</span></a>[ 'se' 't' E | x : T 'in' A , y : U ]" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.finset.html#imset2"><span class="id" title="abbreviation">imset2</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <span class="id" title="var">E</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">A</span>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">_</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#mem"><span class="id" title="definition">mem</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#predOfType"><span class="id" title="abbreviation">predOfType</span></a> <span class="id" title="var">U</span>)))<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv' 'se' 't' E '/ ' | x : T 'in' A , '/ ' y : U ] ']'")<br/>
+&nbsp;&nbsp;&nbsp;: <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="80d2368887096e62ae7a64a8b7d67c70"><span class="id" title="notation">&quot;</span></a>[ 'se' 't' E | x : T 'in' A , y : U &amp; P ]" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.finset.html#imset2"><span class="id" title="abbreviation">imset2</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> (<span class="id" title="var">y</span> : <span class="id" title="var">U</span>) ⇒ <span class="id" title="var">E</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <span class="id" title="var">A</span>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">_</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#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+"[ '[hv ' 'se' 't' E '/' | x : T 'in' A , '/ ' y : U '/' &amp; P ] ']'"<br/>
+&nbsp;&nbsp;) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="9e730e5e5f6104fd071796f0232891d3"><span class="id" title="notation">&quot;</span></a>[ 'se' 't' E | x : T , y : U ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">se</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">t</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span><a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#predOfType"><span class="id" title="abbreviation">predOfType</span></a> <span class="id" title="var">U</span><a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv' 'se' 't' E '/ ' | x : T , '/ ' y : U ] ']'")<br/>
+&nbsp;&nbsp;&nbsp;: <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="b2b1db3dfacd4599056fee32ee09d836"><span class="id" title="notation">&quot;</span></a>[ 'se' 't' E | x : T , y : U &amp; P ]" :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">se</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">t</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">:</span></a> <span class="id" title="var">T</span><a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">in</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.finset.html#e9ff3a0fb480e01ef0107eb1767879c5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#9acdc2efad305169cadbda1e7647d46d"><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">E</span>, <span class="id" title="var">x</span>, <span class="id" title="var">y</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 99, <span class="id" title="var">format</span><br/>
+&nbsp;&nbsp;&nbsp;"[ '[hv' 'se' 't' E '/' | x : T , '/ ' y : U '/' &amp; P ] ']'")<br/>
+&nbsp;&nbsp;&nbsp;: <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FunImage"><span class="id" title="section">FunImage</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="FunImage.aT"><span class="id" title="variable">aT</span></a> <a name="FunImage.aT2"><span class="id" title="variable">aT2</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">Section</span> <a name="FunImage.ImsetTheory"><span class="id" title="section">ImsetTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</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">Section</span> <a name="FunImage.ImsetTheory.ImsetProp"><span class="id" title="section">ImsetProp</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.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.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a>) (<a name="FunImage.ImsetTheory.ImsetProp.f2"><span class="id" title="variable">f2</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.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.finset.html#FunImage.aT2"><span class="id" title="variable">aT2</span></a> <a class="idref" href="http://coq.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.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imsetP"><span class="id" title="lemma">imsetP</span></a> <span class="id" title="var">D</span> <span class="id" title="var">y</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#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">x</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#in_mem"><span class="id" title="definition">in_mem</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#imset"><span class="id" title="abbreviation">imset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">CoInductive</span> <a name="imset2_spec"><span class="id" title="inductive">imset2_spec</span></a> <span class="id" title="var">D1</span> <span class="id" title="var">D2</span> <span class="id" title="var">y</span> : <span class="id" title="keyword">Prop</span> :=<br/>
+&nbsp;&nbsp;<a name="Imset2spec"><span class="id" title="constructor">Imset2spec</span></a> <span class="id" title="var">x1</span> <span class="id" title="var">x2</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#in_mem"><span class="id" title="definition">in_mem</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D1"><span class="id" title="variable">D1</span></a> &amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#in_mem"><span class="id" title="definition">in_mem</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x2"><span class="id" title="variable">x2</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#D2"><span class="id" title="variable">D2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x1"><span class="id" title="variable">x1</span></a>) &amp; <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x2"><span class="id" title="variable">x2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset2P"><span class="id" title="lemma">imset2P</span></a> <span class="id" title="var">D1</span> <span class="id" title="var">D2</span> <span class="id" title="var">y</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#imset2_spec"><span class="id" title="inductive">imset2_spec</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D1"><span class="id" title="variable">D1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D2"><span class="id" title="variable">D2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#imset2"><span class="id" title="abbreviation">imset2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D1"><span class="id" title="variable">D1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D2"><span class="id" title="variable">D2</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mem_imset"><span class="id" title="lemma">mem_imset</span></a> (<span class="id" title="var">D</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.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset0"><span class="id" title="lemma">imset0</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="http://coq.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.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset_eq0"><span class="id" title="lemma">imset_eq0</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) : <a class="idref" href="http://coq.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.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset_set1"><span class="id" title="lemma">imset_set1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><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.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mem_imset2"><span class="id" title="lemma">mem_imset2</span></a> (<span class="id" title="var">D</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.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a>) (<span class="id" title="var">D2</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT2"><span class="id" title="variable">aT2</span></a>) <span class="id" title="var">x</span> <span class="id" title="var">x2</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x2"><span class="id" title="variable">x2</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.finset.html#D2"><span class="id" title="variable">D2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x2"><span class="id" title="variable">x2</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.finset.html#imset2"><span class="id" title="abbreviation">imset2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f2"><span class="id" title="variable">f2</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">x1</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#D2"><span class="id" title="variable">D2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x1"><span class="id" title="variable">x1</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub_imset_pre"><span class="id" title="lemma">sub_imset_pre</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.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="preimsetS"><span class="id" title="lemma">preimsetS</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="preimset0"><span class="id" title="lemma">preimset0</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="http://coq.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.finset.html#set0"><span class="id" title="definition">set0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="preimsetT"><span class="id" title="lemma">preimsetT</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="http://coq.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.finset.html#setT"><span class="id" title="abbreviation">setT</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="preimsetI"><span class="id" title="lemma">preimsetI</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><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.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="preimsetU"><span class="id" title="lemma">preimsetU</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><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.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="preimsetD"><span class="id" title="lemma">preimsetD</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><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.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="preimsetC"><span class="id" title="lemma">preimsetC</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><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.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imsetS"><span class="id" title="lemma">imsetS</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a>) : <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset_proper"><span class="id" title="lemma">imset_proper</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="preimset_proper"><span class="id" title="lemma">preimset_proper</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#codom"><span class="id" title="definition">codom</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imsetU"><span class="id" title="lemma">imsetU</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><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.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imsetU1"><span class="id" title="lemma">imsetU1</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><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.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imsetI"><span class="id" title="lemma">imsetI</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><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.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset2Sl"><span class="id" title="lemma">imset2Sl</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT2"><span class="id" title="variable">aT2</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset2Sr"><span class="id" title="lemma">imset2Sr</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT2"><span class="id" title="variable">aT2</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset2S"><span class="id" title="lemma">imset2S</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a>) (<span class="id" title="var">A2</span> <span class="id" title="var">B2</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.finset.html#FunImage.aT2"><span class="id" title="variable">aT2</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A2"><span class="id" title="variable">A2</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B2"><span class="id" title="variable">B2</span></a> <a class="idref" href="http://coq.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.finset.html#FunImage.ImsetTheory.ImsetProp.f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A2"><span class="id" title="variable">A2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp.f2"><span class="id" title="variable">f2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B2"><span class="id" title="variable">B2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory.ImsetProp"><span class="id" title="section">ImsetProp</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.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.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a>) (<span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">R</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.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_preimset"><span class="id" title="lemma">eq_preimset</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">R</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_imset"><span class="id" title="lemma">eq_imset</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_in_imset"><span class="id" title="lemma">eq_in_imset</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">D</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_in_imset2"><span class="id" title="lemma">eq_in_imset2</span></a> (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.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.finset.html#FunImage.aT2"><span class="id" title="variable">aT2</span></a> <a class="idref" href="http://coq.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.finset.html#FunImage.ImsetTheory.rT"><span class="id" title="variable">rT</span></a>) (<span class="id" title="var">D</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.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a>) (<span class="id" title="var">D2</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.finset.html#FunImage.aT2"><span class="id" title="variable">aT2</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D2"><span class="id" title="variable">D2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#86efabaf3ab961ac3d2bac35d2b3c35d"><span class="id" title="notation">=2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D2"><span class="id" title="variable">D2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><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.finset.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D2"><span class="id" title="variable">D2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.ImsetTheory"><span class="id" title="section">ImsetTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset2_pair"><span class="id" title="lemma">imset2_pair</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT2"><span class="id" title="variable">aT2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">set</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">,</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#fb368e8082a83d96c1e1d3219c5d899b"><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.finset.html#setX"><span class="id" title="definition">setX</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setXS"><span class="id" title="lemma">setXS</span></a> (<span class="id" title="var">A1</span> <span class="id" title="var">B1</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">A2</span> <span class="id" title="var">B2</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage.aT2"><span class="id" title="variable">aT2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B1"><span class="id" title="variable">B1</span></a> <a class="idref" href="http://coq.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.finset.html#A2"><span class="id" title="variable">A2</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B2"><span class="id" title="variable">B2</span></a> <a class="idref" href="http://coq.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.finset.html#setX"><span class="id" title="definition">setX</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A2"><span class="id" title="variable">A2</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setX"><span class="id" title="definition">setX</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B1"><span class="id" title="variable">B1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B2"><span class="id" title="variable">B2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImage"><span class="id" title="section">FunImage</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="BigOps"><span class="id" title="section">BigOps</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="BigOps.R"><span class="id" title="variable">R</span></a> : <span class="id" title="keyword">Type</span>) (<a name="BigOps.idx"><span class="id" title="variable">idx</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#R"><span class="id" title="variable">R</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="BigOps.op"><span class="id" title="variable">op</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.law"><span class="id" title="record">Monoid.law</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a>) (<a name="BigOps.aop"><span class="id" title="variable">aop</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_law"><span class="id" title="record">Monoid.com_law</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> <a name="BigOps.I"><span class="id" title="variable">I</span></a> <a name="BigOps.J"><span class="id" title="variable">J</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">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.I"><span class="id" title="variable">I</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">h</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.J"><span class="id" title="variable">J</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.I"><span class="id" title="variable">I</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_set0"><span class="id" title="lemma">big_set0</span></a> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_set1"><span class="id" title="lemma">big_set1</span></a> <span class="id" title="var">a</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_setIDdep"><span class="id" title="lemma">big_setIDdep</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">P</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_setID"><span class="id" title="lemma">big_setID</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1db838ba797020f3b39c07ed7167bc93"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_setD1"><span class="id" title="lemma">big_setD1</span></a> <span class="id" title="var">a</span> <span class="id" title="var">A</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67a75c8b7ac489919adc46e74581b83e"><span class="id" title="notation">:\</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_setU1"><span class="id" title="lemma">big_setU1</span></a> <span class="id" title="var">a</span> <span class="id" title="var">A</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a"><span class="id" title="variable">a</span></a>) (<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_imset"><span class="id" title="lemma">big_imset</span></a> <span class="id" title="var">h</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.finset.html#BigOps.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">G</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#h"><span class="id" title="variable">h</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#G"><span class="id" title="variable">G</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="partition_big_imset"><span class="id" title="lemma">partition_big_imset</span></a> <span class="id" title="var">h</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.finset.html#BigOps.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.aop"><span class="id" title="variable">aop</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#BigOps"><span class="id" title="section">BigOps</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Fun2Set1"><span class="id" title="section">Fun2Set1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="Fun2Set1.aT1"><span class="id" title="variable">aT1</span></a> <a name="Fun2Set1.aT2"><span class="id" title="variable">aT2</span></a> <a name="Fun2Set1.rT"><span class="id" title="variable">rT</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="Fun2Set1.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#Fun2Set1.aT1"><span class="id" title="variable">aT1</span></a> <a class="idref" href="http://coq.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.finset.html#Fun2Set1.aT2"><span class="id" title="variable">aT2</span></a> <a class="idref" href="http://coq.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.finset.html#Fun2Set1.rT"><span class="id" title="variable">rT</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset2_set1l"><span class="id" title="lemma">imset2_set1l</span></a> <span class="id" title="var">x1</span> (<span class="id" title="var">D2</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.finset.html#Fun2Set1.aT2"><span class="id" title="variable">aT2</span></a>) : <a class="idref" href="mathcomp.ssreflect.finset.html#Fun2Set1.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x1"><span class="id" title="variable">x1</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D2"><span class="id" title="variable">D2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><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.finset.html#Fun2Set1.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D2"><span class="id" title="variable">D2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset2_set1r"><span class="id" title="lemma">imset2_set1r</span></a> <span class="id" title="var">x2</span> (<span class="id" title="var">D1</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.finset.html#Fun2Set1.aT1"><span class="id" title="variable">aT1</span></a>) : <a class="idref" href="mathcomp.ssreflect.finset.html#Fun2Set1.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#D1"><span class="id" title="variable">D1</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><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.finset.html#Fun2Set1.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D1"><span class="id" title="variable">D1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#Fun2Set1"><span class="id" title="section">Fun2Set1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="CardFunImage"><span class="id" title="section">CardFunImage</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="CardFunImage.aT"><span class="id" title="variable">aT</span></a> <a name="CardFunImage.aT2"><span class="id" title="variable">aT2</span></a> <a name="CardFunImage.rT"><span class="id" title="variable">rT</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="CardFunImage.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.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.finset.html#CardFunImage.rT"><span class="id" title="variable">rT</span></a>) (<a name="CardFunImage.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.rT"><span class="id" title="variable">rT</span></a> <a class="idref" href="http://coq.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.finset.html#CardFunImage.aT"><span class="id" title="variable">aT</span></a>) (<a name="CardFunImage.f2"><span class="id" title="variable">f2</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.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.finset.html#CardFunImage.aT2"><span class="id" title="variable">aT2</span></a> <a class="idref" href="http://coq.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.finset.html#CardFunImage.rT"><span class="id" title="variable">rT</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="CardFunImage.D"><span class="id" title="variable">D</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.aT"><span class="id" title="variable">aT</span></a>) (<a name="CardFunImage.D2"><span class="id" title="variable">D2</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.finset.html#CardFunImage.aT"><span class="id" title="variable">aT</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset_card"><span class="id" title="lemma">imset_card</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</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.fintype.html#image"><span class="id" title="abbreviation">image</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="leq_imset_card"><span class="id" title="lemma">leq_imset_card</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</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#9b077c369e19739ef880736ba34623ff"><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.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_in_imset"><span class="id" title="lemma">card_in_imset</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</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.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_imset"><span class="id" title="lemma">card_imset</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</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.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset_injP"><span class="id" title="lemma">imset_injP</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</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.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="can2_in_imset_pre"><span class="id" title="lemma">can2_in_imset_pre</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#43bce7d0017760e933b5067787bdae9e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#43bce7d0017760e933b5067787bdae9e"><span class="id" title="notation">on</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#43bce7d0017760e933b5067787bdae9e"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#43bce7d0017760e933b5067787bdae9e"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#43bce7d0017760e933b5067787bdae9e"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="can2_imset_pre"><span class="id" title="lemma">can2_imset_pre</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.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage.D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#CardFunImage"><span class="id" title="section">CardFunImage</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="on_card_preimset"><span class="id" title="lemma">on_card_preimset</span></a> (<span class="id" title="var">aT</span> <span class="id" title="var">rT</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.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.finset.html#rT"><span class="id" title="variable">rT</span></a>) (<span class="id" title="var">R</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.finset.html#rT"><span class="id" title="variable">rT</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#59b0bfb23a642e2d3d15d13178fc2b18"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#59b0bfb23a642e2d3d15d13178fc2b18"><span class="id" title="notation">on</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#59b0bfb23a642e2d3d15d13178fc2b18"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#59b0bfb23a642e2d3d15d13178fc2b18"><span class="id" title="notation">bijective</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#59b0bfb23a642e2d3d15d13178fc2b18"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#R"><span class="id" title="variable">R</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.finset.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="can_imset_pre"><span class="id" title="lemma">can_imset_pre</span></a> (<span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) <span class="id" title="var">f</span> <span class="id" title="var">g</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<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.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset_id"><span class="id" title="lemma">imset_id</span></a> (<span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><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.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_preimset"><span class="id" title="lemma">card_preimset</span></a> (<span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a>) (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#aa0c936d7feb8f26825e601735c0125f"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_powerset"><span class="id" title="lemma">card_powerset</span></a> (<span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><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.finset.html#powerset"><span class="id" title="definition">powerset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 2 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FunImageComp"><span class="id" title="section">FunImageComp</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="FunImageComp.T"><span class="id" title="variable">T</span></a> <a name="FunImageComp.T'"><span class="id" title="variable">T'</span></a> <a name="FunImageComp.U"><span class="id" title="variable">U</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">Lemma</span> <a name="imset_comp"><span class="id" title="lemma">imset_comp</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImageComp.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.finset.html#FunImageComp.U"><span class="id" title="variable">U</span></a>) (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#FunImageComp.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.finset.html#FunImageComp.T'"><span class="id" title="variable">T'</span></a>) (<span class="id" title="var">H</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.finset.html#FunImageComp.T"><span class="id" title="variable">T</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#FunImageComp"><span class="id" title="section">FunImageComp</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">&quot;</span></a>\bigcup_ ( i &lt;- r | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="c67bad27b8d7d80ec32f458339a59a9c"><span class="id" title="notation">&quot;</span></a>\bigcup_ ( i &lt;- r ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="b3016fc8c13aa5fc3208fd1e8a996cdb"><span class="id" title="notation">&quot;</span></a>\bigcup_ ( m &lt;= i &lt; n | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="0a31164dc6723b8e70a0452fd2aed471"><span class="id" title="notation">&quot;</span></a>\bigcup_ ( m &lt;= i &lt; n ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">&quot;</span></a>\bigcup_ ( i | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="54e0eb8a32aad2f613ffd66f29f7270e"><span class="id" title="notation">&quot;</span></a>\bigcup_ i F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="42a3c58c295a1e2bb6c61df38939e388"><span class="id" title="notation">&quot;</span></a>\bigcup_ ( i : t | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>): <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="be09069777b606de0a6593f7ce5dc0ae"><span class="id" title="notation">&quot;</span></a>\bigcup_ ( i : t ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="fa4bdecd27e97aa843eec42610de74b4"><span class="id" title="notation">&quot;</span></a>\bigcup_ ( i &lt; n | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="2d7bc20bebf7ba544bdb6c5d944c369d"><span class="id" title="notation">&quot;</span></a>\bigcup_ ( i &lt; n ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="c9d3a2501e094f71431ce26795094dc5"><span class="id" title="notation">&quot;</span></a>\bigcup_ ( i 'in' A | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">&quot;</span></a>\bigcup_ ( i 'in' A ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setU"><span class="id" title="definition">setU</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i &lt;- r | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="ce266c79e98705e3d28ff900c3e2b2f4"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i &lt;- r ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="2c130e8b4a7114d51c7aad422b465ae3"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( m &lt;= i &lt; n | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="7bfbe2cd618a4db5e76e624b6a969c7c"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( m &lt;= i &lt; n ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="5b834ce08e6877da1ce22f6ff360b0ad"><span class="id" title="notation">&quot;</span></a>\bigcap_ i F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="922abdea6d5623cca1759e68d3d0dc90"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i : t | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>): <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="e790bd908b90b67e33ef528059194dd3"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i : t ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="42d06fc0b5307a39e438dd9dcbc3976a"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i &lt; n | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="e094221b83273ee92bbf3854e27d7388"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i &lt; n ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="c7891521a5c37ddfd1492d24f7b14085"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i 'in' A | P ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i 'in' A ) F" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a>@<a class="idref" href="mathcomp.ssreflect.finset.html#setI"><span class="id" title="definition">setI</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">SET</span>) : <span class="id" title="var">set_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="BigSetOps"><span class="id" title="section">BigSetOps</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="BigSetOps.T"><span class="id" title="variable">T</span></a> <a name="BigSetOps.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">U</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigSetOps.T"><span class="id" title="variable">T</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigSetOps.I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigSetOps.I"><span class="id" title="variable">I</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#BigSetOps.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigSetOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>).<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ It is very hard to use this lemma, because the unification fails to
+ defer the F j pattern (even though it's a Miller pattern!).
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="bigcup_sup"><span class="id" title="lemma">bigcup_sup</span></a> <span class="id" title="var">j</span> <span class="id" title="var">P</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcup_max"><span class="id" title="lemma">bigcup_max</span></a> <span class="id" title="var">j</span> <span class="id" title="var">U</span> <span class="id" title="var">P</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcupP"><span class="id" title="lemma">bigcupP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">P</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</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#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcupsP"><span class="id" title="lemma">bigcupsP</span></a> <span class="id" title="var">U</span> <span class="id" title="var">P</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#U"><span class="id" title="variable">U</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcup_disjoint"><span class="id" title="lemma">bigcup_disjoint</span></a> <span class="id" title="var">U</span> <span class="id" title="var">P</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11eab4c940b5db7e7918d9beca675161"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcup_setU"><span class="id" title="lemma">bigcup_setU</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">bigcup_</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcup_seq"><span class="id" title="lemma">bigcup_seq</span></a> <span class="id" title="var">r</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#c67bad27b8d7d80ec32f458339a59a9c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#c67bad27b8d7d80ec32f458339a59a9c"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#c67bad27b8d7d80ec32f458339a59a9c"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#c67bad27b8d7d80ec32f458339a59a9c"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#c67bad27b8d7d80ec32f458339a59a9c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Unlike its setU counterpart, this lemma is useable.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="bigcap_inf"><span class="id" title="lemma">bigcap_inf</span></a> <span class="id" title="var">j</span> <span class="id" title="var">P</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcap_min"><span class="id" title="lemma">bigcap_min</span></a> <span class="id" title="var">j</span> <span class="id" title="var">U</span> <span class="id" title="var">P</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.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.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcapsP"><span class="id" title="lemma">bigcapsP</span></a> <span class="id" title="var">U</span> <span class="id" title="var">P</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcapP"><span class="id" title="lemma">bigcapP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">P</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1875f5a227b27f2ac759a0935c29c8e2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setC_bigcup"><span class="id" title="lemma">setC_bigcup</span></a> <span class="id" title="var">J</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#J"><span class="id" title="variable">J</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#J"><span class="id" title="variable">J</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigSetOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><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.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setC_bigcap"><span class="id" title="lemma">setC_bigcap</span></a> <span class="id" title="var">J</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#J"><span class="id" title="variable">J</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#J"><span class="id" title="variable">J</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#BigSetOps.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#7c55545b71d81bfa21b7c36ce13dfa39"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><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.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#eac6f811013bd0926df74c1fd1d5e66c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcap_setU"><span class="id" title="lemma">bigcap_setU</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcap_seq"><span class="id" title="lemma">bigcap_seq</span></a> <span class="id" title="var">r</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#ce266c79e98705e3d28ff900c3e2b2f4"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#ce266c79e98705e3d28ff900c3e2b2f4"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#ce266c79e98705e3d28ff900c3e2b2f4"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#ce266c79e98705e3d28ff900c3e2b2f4"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#ce266c79e98705e3d28ff900c3e2b2f4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#bc8447346ab5cb97cd778e13e6ef97d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#BigSetOps"><span class="id" title="section">BigSetOps</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="ImsetCurry"><span class="id" title="section">ImsetCurry</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="ImsetCurry.aT1"><span class="id" title="variable">aT1</span></a> <a name="ImsetCurry.aT2"><span class="id" title="variable">aT2</span></a> <a name="ImsetCurry.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="ImsetCurry.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#aT1"><span class="id" title="variable">aT1</span></a> <a class="idref" href="http://coq.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.finset.html#aT2"><span class="id" title="variable">aT2</span></a> <a class="idref" href="http://coq.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.finset.html#rT"><span class="id" title="variable">rT</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="ImsetCurry.Curry"><span class="id" title="section">Curry</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="ImsetCurry.Curry.A1"><span class="id" title="variable">A1</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.aT1"><span class="id" title="variable">aT1</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<a name="ImsetCurry.Curry.A2"><span class="id" title="variable">A2</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.aT2"><span class="id" title="variable">aT2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="ImsetCurry.Curry.D1"><span class="id" title="variable">D1</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.finset.html#ImsetCurry.aT1"><span class="id" title="variable">aT1</span></a>) (<a name="ImsetCurry.Curry.D2"><span class="id" title="variable">D2</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.finset.html#ImsetCurry.aT2"><span class="id" title="variable">aT2</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="curry_imset2X"><span class="id" title="lemma">curry_imset2X</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.A1"><span class="id" title="variable">A1</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.A2"><span class="id" title="variable">A2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#prod_curry"><span class="id" title="definition">prod_curry</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setX"><span class="id" title="definition">setX</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.A2"><span class="id" title="variable">A2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="curry_imset2l"><span class="id" title="lemma">curry_imset2l</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.D1"><span class="id" title="variable">D1</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.D2"><span class="id" title="variable">D2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><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.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">(</span></a><span class="id" title="var">x1</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.D1"><span class="id" title="variable">D1</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.D2"><span class="id" title="variable">D2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="curry_imset2r"><span class="id" title="lemma">curry_imset2r</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.D1"><span class="id" title="variable">D1</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.D2"><span class="id" title="variable">D2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><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.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">(</span></a><span class="id" title="var">x2</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.D2"><span class="id" title="variable">D2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry.D1"><span class="id" title="variable">D1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.Curry"><span class="id" title="section">Curry</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset2Ul"><span class="id" title="lemma">imset2Ul</span></a> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.aT1"><span class="id" title="variable">aT1</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.aT2"><span class="id" title="variable">aT2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><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.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="imset2Ur"><span class="id" title="lemma">imset2Ur</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.aT1"><span class="id" title="variable">aT1</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.aT2"><span class="id" title="variable">aT2</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><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.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">@2:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#4c6f7ba1ce600f36986ac4e74738d4ab"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#ImsetCurry"><span class="id" title="section">ImsetCurry</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Partitions"><span class="id" title="section">Partitions</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="Partitions.T"><span class="id" title="variable">T</span></a> <a name="Partitions.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.T"><span class="id" title="variable">T</span></a>) (<span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">D</span> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">P</span> <span class="id" title="var">Q</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}}</span></a>).<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">J</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.finset.html#Partitions.I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="cover"><span class="id" title="definition">cover</span></a> <span class="id" title="var">P</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">(</span></a><span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="pblock"><span class="id" title="definition">pblock</span></a> <span class="id" title="var">P</span> <span class="id" title="var">x</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#odflt"><span class="id" title="abbreviation">odflt</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#pick"><span class="id" title="definition">pick</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#de871826ce6370a1556511e2ea704fe8"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#de871826ce6370a1556511e2ea704fe8"><span class="id" title="notation">pred</span></a> <span class="id" title="var">B</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#de871826ce6370a1556511e2ea704fe8"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#de871826ce6370a1556511e2ea704fe8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#de871826ce6370a1556511e2ea704fe8"><span class="id" title="notation">]</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="trivIset"><span class="id" title="definition">trivIset</span></a> <span class="id" title="var">P</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">(</span></a><span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><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.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.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.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="partition"><span class="id" title="definition">partition</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">[&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="is_transversal"><span class="id" title="definition">is_transversal</span></a> <span class="id" title="var">X</span> <span class="id" title="var">P</span> <span class="id" title="var">D</span> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">[&amp;&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#0a2353937835d965c09d6cd592199019"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#0a2353937835d965c09d6cd592199019"><span class="id" title="notation">∀</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#0a2353937835d965c09d6cd592199019"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><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.finset.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="mathcomp.ssreflect.fintype.html#0a2353937835d965c09d6cd592199019"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="transversal"><span class="id" title="definition">transversal</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">set</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#odflt"><span class="id" title="abbreviation">odflt</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#2bce0a522cee193da9da84e84bfae34b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#2bce0a522cee193da9da84e84bfae34b"><span class="id" title="notation">pick</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#2bce0a522cee193da9da84e84bfae34b"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#2bce0a522cee193da9da84e84bfae34b"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="transversal_repr"><span class="id" title="definition">transversal_repr</span></a> <span class="id" title="var">x0</span> <span class="id" title="var">X</span> <span class="id" title="var">B</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#odflt"><span class="id" title="abbreviation">odflt</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#2bce0a522cee193da9da84e84bfae34b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#2bce0a522cee193da9da84e84bfae34b"><span class="id" title="notation">pick</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#2bce0a522cee193da9da84e84bfae34b"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#2bce0a522cee193da9da84e84bfae34b"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="leq_card_setU"><span class="id" title="lemma">leq_card_setU</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#52f608a788da136ac97df132d7055463"><span class="id" title="notation">:|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">iff</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="leq_card_cover"><span class="id" title="lemma">leq_card_cover</span></a> <span class="id" title="var">P</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</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#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">(</span></a><span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">iff</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="trivIsetP"><span class="id" title="lemma">trivIsetP</span></a> <span class="id" title="var">P</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span>, <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="trivIsetS"><span class="id" title="lemma">trivIsetS</span></a> <span class="id" title="var">P</span> <span class="id" title="var">Q</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="http://coq.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.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="http://coq.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.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="trivIsetI"><span class="id" title="lemma">trivIsetI</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#2dab1b186f22df1296e4090457f5abb0"><span class="id" title="notation">::&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cover_setI"><span class="id" title="lemma">cover_setI</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#cover"><span class="id" title="definition">cover</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#2dab1b186f22df1296e4090457f5abb0"><span class="id" title="notation">::&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>) <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mem_pblock"><span class="id" title="lemma">mem_pblock</span></a> <span class="id" title="var">P</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pblock_mem"><span class="id" title="lemma">pblock_mem</span></a> <span class="id" title="var">P</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#P"><span class="id" title="variable">P</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="def_pblock"><span class="id" title="lemma">def_pblock</span></a> <span class="id" title="var">P</span> <span class="id" title="var">B</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="same_pblock"><span class="id" title="lemma">same_pblock</span></a> <span class="id" title="var">P</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_pblock"><span class="id" title="lemma">eq_pblock</span></a> <span class="id" title="var">P</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.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.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="trivIsetU1"><span class="id" title="lemma">trivIsetU1</span></a> <span class="id" title="var">A</span> <span class="id" title="var">P</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">B</span>, <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#8d51214861729e594d3598f0d320a13d"><span class="id" title="notation">|:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cover_imset"><span class="id" title="lemma">cover_imset</span></a> <span class="id" title="var">J</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#cover"><span class="id" title="definition">cover</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#J"><span class="id" title="variable">J</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#J"><span class="id" title="variable">J</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#a0ae9f9e02e9c4d0ab32386f734fed5a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="trivIimset"><span class="id" title="lemma">trivIimset</span></a> <span class="id" title="var">J</span> <span class="id" title="var">F</span> (<span class="id" title="var">P</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#J"><span class="id" title="variable">J</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#J"><span class="id" title="variable">J</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> <span class="id" title="var">j</span>, <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#set0"><span class="id" title="definition">set0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#J"><span class="id" title="variable">J</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cover_partition"><span class="id" title="lemma">cover_partition</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_partition"><span class="id" title="lemma">card_partition</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</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.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">(</span></a><span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#537ae7c18e428d4642a9dfb8520f03ee"><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.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_uniform_partition"><span class="id" title="lemma">card_uniform_partition</span></a> <span class="id" title="var">n</span> <span class="id" title="var">P</span> <span class="id" title="var">D</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">A</span>, <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</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.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Partitions.BigOps"><span class="id" title="section">BigOps</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Partitions.BigOps.R"><span class="id" title="variable">R</span></a> : <span class="id" title="keyword">Type</span>) (<a name="Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#R"><span class="id" title="variable">R</span></a>) (<a name="Partitions.BigOps.op"><span class="id" title="variable">op</span></a> : <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.com_law"><span class="id" title="record">Monoid.com_law</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#idx"><span class="id" title="variable">idx</span></a>).<br/>
+<span class="id" title="keyword">Let</span> <a name="Partitions.BigOps.rhs_cond"><span class="id" title="variable">rhs_cond</span></a> <span class="id" title="var">P</span> <span class="id" title="var">K</span> <span class="id" title="var">E</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a>.<br/>
+<span class="id" title="keyword">Let</span> <a name="Partitions.BigOps.rhs"><span class="id" title="variable">rhs</span></a> <span class="id" title="var">P</span> <span class="id" title="var">E</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_trivIset_cond"><span class="id" title="lemma">big_trivIset_cond</span></a> <span class="id" title="var">P</span> (<span class="id" title="var">K</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.finset.html#Partitions.T"><span class="id" title="variable">T</span></a>) (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.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.finset.html#Partitions.BigOps.R"><span class="id" title="variable">R</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#Partitions.BigOps.rhs_cond"><span class="id" title="variable">rhs_cond</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="big_trivIset"><span class="id" title="lemma">big_trivIset</span></a> <span class="id" title="var">P</span> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.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.finset.html#Partitions.BigOps.R"><span class="id" title="variable">R</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#Partitions.BigOps.rhs"><span class="id" title="variable">rhs</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set_partition_big_cond"><span class="id" title="lemma">set_partition_big_cond</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> (<span class="id" title="var">K</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.finset.html#Partitions.T"><span class="id" title="variable">T</span></a>) (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.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.finset.html#Partitions.BigOps.R"><span class="id" title="variable">R</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#Partitions.BigOps.rhs_cond"><span class="id" title="variable">rhs_cond</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="set_partition_big"><span class="id" title="lemma">set_partition_big</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.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.finset.html#Partitions.BigOps.R"><span class="id" title="variable">R</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#Partitions.BigOps.rhs"><span class="id" title="variable">rhs</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="partition_disjoint_bigcup"><span class="id" title="lemma">partition_disjoint_bigcup</span></a> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) <span class="id" title="var">E</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> <span class="id" title="var">j</span>, <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">disjoint</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fca367ac88276c4c83db3cc7c637993a"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#54e0eb8a32aad2f613ffd66f29f7270e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#54e0eb8a32aad2f613ffd66f29f7270e"><span class="id" title="notation">bigcup_i</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.op"><span class="id" title="variable">op</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps.idx"><span class="id" title="variable">idx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.BigOps"><span class="id" title="section">BigOps</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Partitions.Equivalence"><span class="id" title="section">Equivalence</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Partitions.Equivalence.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#rel"><span class="id" title="definition">rel</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.T"><span class="id" title="variable">T</span></a>) (<a name="Partitions.Equivalence.D"><span class="id" title="variable">D</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="Partitions.Equivalence.Px"><span class="id" title="variable">Px</span></a> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">y</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Equivalence.D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Equivalence.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="equivalence_partition"><span class="id" title="definition">equivalence_partition</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Equivalence.Px"><span class="id" title="variable">Px</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Equivalence.D"><span class="id" title="variable">D</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#c4eb68ed64baca4028c54e8eaca3672a"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="Partitions.Equivalence.eqiR"><span class="id" title="variable">eqiR</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#0ebfa8e4076fc95e12536d4b6a76aa07"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#0ebfa8e4076fc95e12536d4b6a76aa07"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Equivalence.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#0ebfa8e4076fc95e12536d4b6a76aa07"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#0ebfa8e4076fc95e12536d4b6a76aa07"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#equivalence_rel"><span class="id" title="definition">equivalence_rel</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Equivalence.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#0ebfa8e4076fc95e12536d4b6a76aa07"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="Partitions.Equivalence.Pxx"><span class="id" title="variable">Pxx</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#Partitions.Equivalence.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#Partitions.Equivalence.Px"><span class="id" title="variable">Px</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a>.<br/>
+ <span class="id" title="keyword">Let</span> <a name="Partitions.Equivalence.PPx"><span class="id" title="variable">PPx</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#Partitions.Equivalence.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Equivalence.Px"><span class="id" title="variable">Px</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#P"><span class="id" title="abbreviation">P</span></a> := <span class="id" title="keyword">fun</span> <span class="id" title="var">Dx</span> ⇒ <a class="idref" href="mathcomp.ssreflect.finset.html#mem_imset"><span class="id" title="lemma">mem_imset</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.ssreflect.finset.html#Dx"><span class="id" title="variable">Dx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="equivalence_partitionP"><span class="id" title="lemma">equivalence_partitionP</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="abbreviation">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Equivalence.D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pblock_equivalence_partition"><span class="id" title="lemma">pblock_equivalence_partition</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Equivalence.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="http://coq.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.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="abbreviation">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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="http://coq.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.finset.html#Partitions.Equivalence.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Equivalence"><span class="id" title="section">Equivalence</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pblock_equivalence"><span class="id" title="lemma">pblock_equivalence</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#0ebfa8e4076fc95e12536d4b6a76aa07"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#0ebfa8e4076fc95e12536d4b6a76aa07"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#0ebfa8e4076fc95e12536d4b6a76aa07"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#0ebfa8e4076fc95e12536d4b6a76aa07"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#equivalence_rel"><span class="id" title="definition">equivalence_rel</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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#0ebfa8e4076fc95e12536d4b6a76aa07"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="equivalence_partition_pblock"><span class="id" title="lemma">equivalence_partition_pblock</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#equivalence_partition"><span class="id" title="definition">equivalence_partition</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Partitions.Preim"><span class="id" title="section">Preim</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Partitions.Preim.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) (<a name="Partitions.Preim.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.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.finset.html#rT"><span class="id" title="variable">rT</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="preim_partition"><span class="id" title="definition">preim_partition</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#equivalence_partition"><span class="id" title="definition">equivalence_partition</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Preim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.finset.html#Partitions.Preim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#y"><span class="id" title="variable">y</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="preim_partitionP"><span class="id" title="lemma">preim_partitionP</span></a> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#preim_partition"><span class="id" title="definition">preim_partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>) <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Preim"><span class="id" title="section">Preim</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="preim_partition_pblock"><span class="id" title="lemma">preim_partition_pblock</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#preim_partition"><span class="id" title="definition">preim_partition</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a>) <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="transversalP"><span class="id" title="lemma">transversalP</span></a> <span class="id" title="var">P</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#is_transversal"><span class="id" title="definition">is_transversal</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#transversal"><span class="id" title="definition">transversal</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>) <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Partitions.Transversals"><span class="id" title="section">Transversals</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Partitions.Transversals.X"><span class="id" title="variable">X</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<a name="Partitions.Transversals.P"><span class="id" title="variable">P</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}}</span></a>) (<a name="Partitions.Transversals.D"><span class="id" title="variable">D</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>).<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="Partitions.Transversals.trPX"><span class="id" title="variable">trPX</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#is_transversal"><span class="id" title="definition">is_transversal</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="transversal_sub"><span class="id" title="lemma">transversal_sub</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.D"><span class="id" title="variable">D</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="Partitions.Transversals.tiP"><span class="id" title="variable">tiP</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#trivIset"><span class="id" title="definition">trivIset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="Partitions.Transversals.sXP"><span class="id" title="variable">sXP</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.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#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="Partitions.Transversals.trX"><span class="id" title="variable">trX</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">B</span>, <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="setI_transversal_pblock"><span class="id" title="lemma">setI_transversal_pblock</span></a> <span class="id" title="var">x0</span> <span class="id" title="var">B</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#transversal_repr"><span class="id" title="definition">transversal_repr</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="repr_mem_pblock"><span class="id" title="lemma">repr_mem_pblock</span></a> <span class="id" title="var">x0</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#transversal_repr"><span class="id" title="definition">transversal_repr</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="repr_mem_transversal"><span class="id" title="lemma">repr_mem_transversal</span></a> <span class="id" title="var">x0</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#transversal_repr"><span class="id" title="definition">transversal_repr</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="transversal_reprK"><span class="id" title="lemma">transversal_reprK</span></a> <span class="id" title="var">x0</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#transversal_repr"><span class="id" title="definition">transversal_repr</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pblockK"><span class="id" title="lemma">pblockK</span></a> <span class="id" title="var">x0</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.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#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#transversal_repr"><span class="id" title="definition">transversal_repr</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.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#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pblock_inj"><span class="id" title="lemma">pblock_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pblock_transversal"><span class="id" title="lemma">pblock_transversal</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#pblock"><span class="id" title="definition">pblock</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.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.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_transversal"><span class="id" title="lemma">card_transversal</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</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.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="im_transversal_repr"><span class="id" title="lemma">im_transversal_repr</span></a> <span class="id" title="var">x0</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#transversal_repr"><span class="id" title="definition">transversal_repr</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#x0"><span class="id" title="variable">x0</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals.X"><span class="id" title="variable">X</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions.Transversals"><span class="id" title="section">Transversals</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#Partitions"><span class="id" title="section">Partitions</span></a>.<br/>
+
+<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="partition_partition"><span class="id" title="lemma">partition_partition</span></a> (<span class="id" title="var">T</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">D</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) <span class="id" title="var">P</span> <span class="id" title="var">Q</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#partition"><span class="id" title="definition">partition</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#cover"><span class="id" title="definition">cover</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f2bdcb40cf423bf8d54f091f6cec6964"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Q"><span class="id" title="variable">Q</span></a>) <a class="idref" href="mathcomp.ssreflect.finset.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cover"><span class="id" title="definition">cover</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+
+<div class="paragraph"> </div>
+
+ Maximum and minimun (sub)set with respect to a given pred
+
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MaxSetMinSet"><span class="id" title="section">MaxSetMinSet</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MaxSetMinSet.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">Notation</span> <a name="sT"><span class="id" title="abbreviation">sT</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#MaxSetMinSet.T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#sT"><span class="id" title="abbreviation">sT</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#sT"><span class="id" title="abbreviation">sT</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="minset"><span class="id" title="definition">minset</span></a> <span class="id" title="var">P</span> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">(</span></a><span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#sT"><span class="id" title="abbreviation">sT</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.finset.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.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="minset_eq"><span class="id" title="lemma">minset_eq</span></a> <span class="id" title="var">P1</span> <span class="id" title="var">P2</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#minset"><span class="id" title="definition">minset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#minset"><span class="id" title="definition">minset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="minsetP"><span class="id" title="lemma">minsetP</span></a> <span class="id" title="var">P</span> <span class="id" title="var">A</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">B</span>, <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#minset"><span class="id" title="definition">minset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="minsetp"><span class="id" title="lemma">minsetp</span></a> <span class="id" title="var">P</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#minset"><span class="id" title="definition">minset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="minsetinf"><span class="id" title="lemma">minsetinf</span></a> <span class="id" title="var">P</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#minset"><span class="id" title="definition">minset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ex_minset"><span class="id" title="lemma">ex_minset</span></a> <span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="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">A</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.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://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">A</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.finset.html#minset"><span class="id" title="definition">minset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="minset_exists"><span class="id" title="lemma">minset_exists</span></a> <span class="id" title="var">P</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">{</span></a><span class="id" title="var">A</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#minset"><span class="id" title="definition">minset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The 'locked_with' allows Coq to find the value of P by unification.
+</div>
+<div class="code">
+<span class="id" title="keyword">Fact</span> <a name="maxset_key"><span class="id" title="lemma">maxset_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/>
+<span class="id" title="keyword">Definition</span> <a name="maxset"><span class="id" title="definition">maxset</span></a> <span class="id" title="var">P</span> <span class="id" title="var">A</span> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.finset.html#minset"><span class="id" title="definition">minset</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">B</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#maxset_key"><span class="id" title="lemma">maxset_key</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>)) (<a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="maxset_eq"><span class="id" title="lemma">maxset_eq</span></a> <span class="id" title="var">P1</span> <span class="id" title="var">P2</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#maxset"><span class="id" title="definition">maxset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P1"><span class="id" title="variable">P1</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#maxset"><span class="id" title="definition">maxset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P2"><span class="id" title="variable">P2</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="maxminset"><span class="id" title="lemma">maxminset</span></a> <span class="id" title="var">P</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#maxset"><span class="id" title="definition">maxset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#minset"><span class="id" title="definition">minset</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">pred</span></a> <span class="id" title="var">B</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="minmaxset"><span class="id" title="lemma">minmaxset</span></a> <span class="id" title="var">P</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#minset"><span class="id" title="definition">minset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#maxset"><span class="id" title="definition">maxset</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">pred</span></a> <span class="id" title="var">B</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="maxsetP"><span class="id" title="lemma">maxsetP</span></a> <span class="id" title="var">P</span> <span class="id" title="var">A</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">B</span>, <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.ssreflect.finset.html#maxset"><span class="id" title="definition">maxset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="maxsetp"><span class="id" title="lemma">maxsetp</span></a> <span class="id" title="var">P</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#maxset"><span class="id" title="definition">maxset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="maxsetsup"><span class="id" title="lemma">maxsetsup</span></a> <span class="id" title="var">P</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#maxset"><span class="id" title="definition">maxset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ex_maxset"><span class="id" title="lemma">ex_maxset</span></a> <span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="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">A</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.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://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">A</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.finset.html#maxset"><span class="id" title="definition">maxset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="maxset_exists"><span class="id" title="lemma">maxset_exists</span></a> <span class="id" title="var">P</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://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#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">{</span></a><span class="id" title="var">A</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#sT"><span class="id" title="abbreviation">sT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#maxset"><span class="id" title="definition">maxset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.ssreflect.finset.html#MaxSetMinSet"><span class="id" title="section">MaxSetMinSet</span></a>.<br/>
+
+<br/>
+
+<br/>
+</div>
+</div>
+
+<div id="footer">
+<hr/><a href="index.html">Index</a><hr/>This page has been generated by <a href="http://coq.inria.fr/">coqdoc</a>
+</div>
+
+</div>
+
+</body>
+</html> \ No newline at end of file