Pigeonhole principles in finite types #
Main declarations #
We provide the following versions of the pigeonholes principle.
Fintype.exists_ne_map_eq_of_card_ltandisEmpty_of_card_lt: Finitely many pigeons and pigeonholes. Weak formulation.Finite.exists_ne_map_eq_of_infinite: Infinitely many pigeons in finitely many pigeonholes. Weak formulation.Finite.exists_infinite_fiber: Infinitely many pigeons in finitely many pigeonholes. Strong formulation.
Some more pigeonhole-like statements can be found in Data.Fintype.CardEmbedding.
The pigeonhole principle for finitely many pigeons and pigeonholes.
This is the Fintype version of Finset.exists_ne_map_eq_of_card_lt_of_maps_to.
If ‖β‖ < ‖α‖ there are no embeddings α ↪ β.
This is a formulation of the pigeonhole principle.
Note this cannot be an instance as it needs h.
The pigeonhole principle for infinitely many pigeons in finitely many pigeonholes. If there are infinitely many pigeons in finitely many pigeonholes, then there are at least two pigeons in the same pigeonhole.
See also: Fintype.exists_ne_map_eq_of_card_lt, Finite.exists_infinite_fiber.
The strong pigeonhole principle for infinitely many pigeons in finitely many pigeonholes. If there are infinitely many pigeons in finitely many pigeonholes, then there is a pigeonhole with infinitely many pigeons.
See also: Finite.exists_ne_map_eq_of_infinite