The cartesian product of finsets #
Main definitions #
Finset.pi
: Cartesian product of finsets indexed by a finset.
pi #
The empty dependent product function, defined on the empty set. The assumption a ∈ ∅
is never
satisfied.
Equations
- Finset.Pi.empty β a h = Multiset.Pi.empty β a h
Instances For
Given a finset s
of α
and for all a : α
a finset t a
of δ a
, then one can define the
finset s.pi t
of all functions defined on elements of s
taking values in t a
for a ∈ s
.
Note that the elements of s.pi t
are only partially defined, on s
.
Equations
- s.pi t = { val := s.val.pi fun (a : α) => (t a).val, nodup := ⋯ }
Instances For
Given a function f
defined on a finset s
, define a new function on the finset s ∪ {a}
,
equal to f
on s
and sending a
to a given value b
. This function is denoted
s.Pi.cons a b f
. If a
already belongs to s
, the new function takes the value b
at a
anyway.
Equations
- Finset.Pi.cons s a b f a' h = Multiset.Pi.cons s.val a b f a' ⋯
Instances For
Alias of the reverse direction of Finset.pi_nonempty
.
Diagonal #
The diagonal of a finset s : Finset α
as a finset of functions ι → α
, namely the set of
constant functions valued in s
.
Equations
- s.piDiag ι = Finset.image (Function.const ι) s
Instances For
Restriction #
If a function f
is restricted to a finite set t
, and s ⊆ t
,
this is the restriction to s
.
Equations
- Finset.restrict₂ hst f x = f ⟨↑x, ⋯⟩