Hall's Marriage Theorem for finite index types #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This module proves the basic form of Hall's theorem.
In constrast to the theorem described in combinatorics.hall.basic, this
version requires that the indexed family t : ι → finset α have ι be finite.
The combinatorics.hall.basic module applies a compactness argument to this version
to remove the finite constraint on ι.
The modules are split like this since the generalized statement depends on the topology and category theory libraries, but the finite case in this module has few dependencies.
A description of this formalization is in [GMM].
Main statements #
- finset.all_card_le_bUnion_card_iff_exists_injective'is Hall's theorem with a finite index set. This is elsewhere generalized to- finset.all_card_le_bUnion_card_iff_exists_injective.
Tags #
Hall's Marriage Theorem, indexed families
First case of the inductive step: assuming that
∀ (s : finset ι), s.nonempty → s ≠ univ → s.card < (s.bUnion t).card
and that the statement of Hall's Marriage Theorem is true for all
ι' of cardinality ≤ n, then it is true for ι of cardinality n + 1.
Second case of the inductive step: assuming that
∃ (s : finset ι), s ≠ univ → s.card = (s.bUnion t).card
and that the statement of Hall's Marriage Theorem is true for all
ι' of cardinality ≤ n, then it is true for ι of cardinality n + 1.
Here we combine the two inductive steps into a full strong induction proof, completing the proof the harder direction of Hall's Marriage Theorem.
This is the version of Hall's Marriage Theorem in terms of indexed
families of finite sets t : ι → finset α with ι finite.
It states that there is a set of distinct representatives if and only
if every union of k of the sets has at least k elements.
See finset.all_card_le_bUnion_card_iff_exists_injective for a version
where the finite ι constraint is removed.