pigeonhole_principle

Prove guaranteed collisions when distributing more items than containers.

1|Updated Mar 14, 2026
One-click install
npx skills add https://github.com/bneb/perqed --skill pigeonhole-principle
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pigeonhole_principle
Source: https://github.com/bneb/perqed/tree/main/.agents/skills/pigeonhole_principle
Command: npx skills add https://github.com/bneb/perqed --skill pigeonhole-principle

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The pigeonhole principle asserts that if more objects are placed into fewer containers, at least one container must contain multiple objects, enabling guarantees of collisions or repeated values.

Core Features & Use Cases

  • Existence guarantees: proves collisions exist in distributions where domain size exceeds codomain size.
  • Proof scaffolding: supports Ramsey-type arguments, lower/upper bounds, and existence proofs.
  • Example scenario: in distributing 11 items into 10 boxes, at least one box contains at least two items.

Quick Start

Apply the pigeonhole principle to show that in any distribution of more items than boxes, two items share a box.

Frequently Asked Questions about pigeonhole_principle

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How does the pigeonhole principle guarantee a collision in combinatorics?

The pigeonhole principle guarantees a collision by asserting that if more objects are placed into fewer containers, at least one container must hold multiple objects, proving a forced repetition.

When do I need to use the pigeonhole principle for a counting proof?

You use the pigeonhole principle for a counting proof when you need to demonstrate that a mapping from a larger domain to a smaller codomain forces repetition and guarantees non-injectivity.

Can I apply the pigeonhole principle to Ramsey-type arguments and bound proofs?

Yes, the pigeonhole principle serves as proof scaffolding for Ramsey-type arguments and lower or upper bounds, providing existence guarantees for collisions where domain size exceeds codomain size.

How do I prove existence in a distribution using the pigeonhole principle?

To prove existence, apply the pigeonhole principle to show that in any distribution of more items than boxes, such as 11 items into 10 boxes, at least two items must share a container.

What are the limitations of using the pigeonhole principle for non-injectivity proofs?

The pigeonhole principle only guarantees non-injectivity when a strict counting constraint is met, meaning it is limited to scenarios where the domain size strictly exceeds the codomain size.