Fintype instances for pi types #
Given for all a : α
a finset t a
of δ a
, then one can define the
finset Fintype.piFinset t
of all functions taking values in t a
for all a
. This is the
analogue of Finset.pi
where the base finset is univ
(but formally they are not the same, as
there is an additional condition i ∈ Finset.univ
in the Finset.pi
definition).
Equations
Instances For
Alias of the reverse direction of Fintype.piFinset_nonempty
.
Alias of Fintype.filter_piFinset_of_notMem
.
pi #
A dependent product of fintypes, indexed by a fintype, is a fintype.
Equations
There are finitely many embeddings between finite types.
This instance used to be computable (using DecidableEq
arguments), but
it makes things a lot harder to work with here.
Equations
Equations
Diagonal #
Constructors for Set.Finite
#
Every constructor here should have a corresponding Fintype
instance in the previous section
(or in the Fintype
module).
The implementation of these constructors ideally should be no more than Set.toFinite
,
after possibly setting up some Fintype
and classical Decidable
instances.