What a pass means
A countable claim, with narrow limits
A passing certificate proves that the displayed rows form a physically playable doubles schedule and that the displayed partner, opponent, game and bye counts come from those rows. It also proves a named spread is optimal when its actual spread reaches the displayed arithmetic lower bound.
It does not prove that this is a good schedule for a real evening, that players have comparable skill, that courts are used well, or that no better schedule exists for a metric whose bound remains open.
An imperfect schedule gets a useful audit trail and a certificate of feasibility for its counts. It does not get a general certificate of optimality. Re-running a generator or trusting its search log would not close that gap.
How to check it yourself
Six tallies per game
- For each game
A/B vs C/D, add one partnership to A/B and C/D. - Add one opposition to A/C, A/D, B/C and B/D.
- Mark all four players as playing that round. Reject the schedule if any player appears twice in one round.
- Every rostered player not marked in a round has one bye. Scan each player's marks to find consecutive-bye runs.
- Compare your tallies with the two matrices and the attendance table.
You can do this with pencil marks, a spreadsheet, or a few loops of your own code. You do not need this page's parser or any schedule generator.
The arithmetic edge
Some promises cannot fit
Each doubles game uses exactly two unordered partnerships and four unordered opponent-pairs. If there are n players, there are n(n-1)/2 possible pairs. A claim that every pair partners once therefore needs exactly that many partnership slots. Fewer cannot cover the pairs, and more cannot use each exactly once.
For any fixed total distributed among integer slots, the smallest possible maximum-minus-minimum spread is 0 when the total divides evenly, and 1 otherwise. When a schedule reaches that bound, its optimality for that one spread follows from counting alone. No search needs to be trusted.
Input contract
What this checker accepts
- Round text:
Round 2: Ana / Bo vs Cy / Dee, Eli / Fran vs Gus / Han. - CSV with exactly these headers, in any order:
round,court,team1player1,team1player2,team2player1,team2player2. - Up to 40 players, 40 rounds and 400 games. Every game is assumed to have two teams of two. Other match sizes are refused.
- Names are case-sensitive. Commas and the symbols
/ : + & |are reserved separators and cannot appear in a player name.
Source for the worked control
A schedule transcribed, not generated here
The five-player example is transcribed from Julian D. A. Wiseman, “Individual-pairs tournament design for 5 players”, June 2003. Wiseman states that every pair partners once and opposes twice. The repository verifier recounts those properties from the transcribed rows.
Terminology and existence context: I. Anderson, “A Hundred Years of Whist Tournaments”, Journal of Combinatorial Mathematics and Combinatorial Computing 19 (1995), 129–150.
The checker makes no third-party requests. These are ordinary source links, opened only if you choose them.