Doubly regular tournaments #
A tournament on an index type ι is an orientation of the complete graph, encoded here as a
function Arc : ι → ι → Bool. This file sets up the neighbourhood Finsets of such an Arc
and the parametrised predicate saying that it is doubly regular.
Main definitions:
IsTournament Arc—Archas no loops and joins any two distinct vertices by exactly one arc;outNbrs Arc i/inNbrs Arc i— the out- and in-neighbours ofi;commonOut Arc i j/commonIn Arc i j— their pairwise intersections;middles Arc u v— the verticeslwithu → l → v;IsDRTournamentWith Arc d t—Arcis a doubly regular tournament with out-degreedand withtcommon out-neighbours andtcommon in-neighbours for every pair of distinct vertices.
IsDRTournamentWith follows the shape of Mathlib's SimpleGraph.IsSRGWith: the arc relation
and the numeric parameters are arguments, not fields, so that lemmas stated about a bare
Arc can consume it without being rephrased. The material is organised by hypothesis
strength: first what needs no finiteness, then what needs Fintype ι, then what needs
DecidableEq ι as well.
This file corresponds to Section 2 of bs_lambda.txt; the Paley tournament realising these
axioms is built in BSLambda/Paley/Tournament.lean.
Adapted for Lean Pool from Timeroot/BS_Lam at commit
7bd39a8d41ee7910d3296d0477ad18f8fff9d870; ported to Lean Pool with proof and dependency cleanup.
IsTournament Arc: the relation Arc orients the complete graph on ι, i.e. there are no
loops and any two distinct vertices are joined by exactly one arc.
There is no arc from a vertex to itself.
Distinct vertices are joined by exactly one arc.
Instances For
The endpoints of an arc are distinct.
The endpoints of an arc are distinct. The primed name follows Mathlib's LT.lt.ne'
convention: the conclusion is j ≠ i, the reverse of BSLambda.IsTournament.ne_of_arc.
Asymmetry in the Bool-equation form consumed by the certificate-conflict lemmas:
an arc i → j forces Arc j i = false.
The arc relation of a tournament is asymmetric.
The Bool-equation form of BSLambda.IsTournament.arc_or_arc: if j does not beat i
then i beats j.
The out-neighbours of i: the vertices j with an arc i → j.
Equations
- BSLambda.outNbrs Arc i = {j : ι | Arc i j = true}
Instances For
The in-neighbours of i: the vertices j with an arc j → i.
Equations
- BSLambda.inNbrs Arc i = {j : ι | Arc j i = true}
Instances For
The out-neighbourhood and the in-neighbourhood of a vertex are disjoint.
The common out-neighbours of i and j.
Equations
- BSLambda.commonOut Arc i j = BSLambda.outNbrs Arc i ∩ BSLambda.outNbrs Arc j
Instances For
The common in-neighbours of i and j.
Equations
- BSLambda.commonIn Arc i j = BSLambda.inNbrs Arc i ∩ BSLambda.inNbrs Arc j
Instances For
The middle vertices of the arc u → v: those l with u → l → v.
Equations
- BSLambda.middles Arc u v = BSLambda.outNbrs Arc u ∩ BSLambda.inNbrs Arc v
Instances For
Counting the arcs inside the out-neighbourhood of u by tail and by head: a pure
double-counting identity, with no regularity assumption on Arc.
The out- and in-neighbours of v are exactly the vertices other than v.
Out-neighbours and in-neighbours of a vertex partition the remaining vertices.
IsDRTournamentWith Arc d t: Arc is a doubly regular tournament — a tournament in which
every vertex has out-degree d, and every two distinct vertices have t common out-neighbours
and t common in-neighbours. (Section 2 of bs_lambda.txt.)
Every vertex has out-degree
d.Distinct vertices have
tcommon out-neighbours.Distinct vertices have
tcommon in-neighbours.
Instances For
Every vertex of a doubly regular tournament has in-degree d as well.
A doubly regular tournament on a nonempty ι has 2 * d + 1 vertices.
Along an arc u → v the out-neighbours of u split into v itself, the middles of the
arc, and the t common out-neighbours of u and v.
A doubly regular tournament with at least two vertices has positive out-degree.
A doubly regular tournament with at least two vertices satisfies d = 2 * t + 1; in
particular d - 1 - t = t.
In a doubly regular tournament with at least two vertices, every arc u → v has exactly
t middle vertices.