Many atomic types force atomically matched tuples
Lax185574.MatchedTuples · concepts/Lax185574/MatchedTuples.lean · lax-185574
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
There exists a computable function Q : ℕ → ℕ such that for every ℓ ∈ ℕ and for every bipartite graph G = (L, R, E) with |ATypes(L/R)| > Q(ℓ), there are two tuples ā ∈ L^ℓ and b̄ ∈ R^ℓ that are atomically matched in G.
This is Corollary 2.4 of Ding, Oporowski, Oxley and Vertigan (1996), see also Theorem 2 of Gravier, Maffray, Renault and Trotignon (2004).
Concept map
In the paper
- page 22 of this submission's paper
Lean source view on GitHub
| 1 | import Lax185574.AtomicMatching |
| 2 | import Lax185574.AtomicTypes |
| 3 | import Lax185574.BipartiteGraphs |
| 4 | import Mathlib.Computability.Partrec |
| 5 | |
| 6 | /-! |
| 7 | --- |
| 8 | title: Many atomic types force atomically matched tuples |
| 9 | type: theorem |
| 10 | --- |
| 11 | There exists a computable function Q : ℕ → ℕ such that for every ℓ ∈ ℕ |
| 12 | and for every bipartite graph G = (L, R, E) with |ATypes(L/R)| > Q(ℓ), |
| 13 | there are two tuples ā ∈ L^ℓ and b̄ ∈ R^ℓ that are atomically matched |
| 14 | in G. |
| 15 | |
| 16 | This is Corollary 2.4 of Ding, Oporowski, Oxley and Vertigan (1996), see |
| 17 | also Theorem 2 of Gravier, Maffray, Renault and Trotignon (2004). |
| 18 | |
| 19 | # Formalization notes |
| 20 | |
| 21 | A bipartite graph (L, R, E) is given by two finite types L and R and a |
| 22 | relation E between them. Its graph is the simple graph on L ⊕ R whose |
| 23 | edges are the pairs related by E, `BipartiteGraphs.bipartiteGraph E`. The number |
| 24 | |ATypes(L/R)| is `AtomicTypes.atomicTypeCount` of this graph, for the |
| 25 | vertices of L over the vertices of R. Since L and R are disjoint, it is |
| 26 | the number of distinct neighborhoods of vertices of L. Computability of |
| 27 | Q is mathlib's `Computable`. The two sides are finite, which covers the |
| 28 | use in the paper inside the proof of the ball-types lemma. |
| 29 | -/ |
| 30 | |
| 31 | namespace Lax185574.MatchedTuples |
| 32 | |
| 33 | open Lax185574.AtomicMatching Lax185574.AtomicTypes Lax185574.BipartiteGraphs |
| 34 | |
| 35 | universe u v |
| 36 | |
| 37 | /-- **Matchings, co-matchings and half-graphs.** A computable `Q` such |
| 38 | that a bipartite graph whose left side realizes more than `Q(ℓ)` atomic |
| 39 | types over the right side contains atomically matched `ℓ`-tuples, one |
| 40 | from each side. -/ |
| 41 | axiom exists_atomicallyMatched : |
| 42 | ∃ Q : ℕ → ℕ, Computable Q ∧ |
| 43 | ∀ (ℓ : ℕ) (L : Type u) (R : Type v) [Finite L] [Finite R] (E : L → R → Prop), |
| 44 | Q ℓ < atomicTypeCount (bipartiteGraph E) (Set.range Sum.inl) |
| 45 | (Set.range Sum.inr) → |
| 46 | ∃ (a : Fin ℓ → L) (b : Fin ℓ → R), |
| 47 | AtomicallyMatched (bipartiteGraph E) (Sum.inl ∘ a) (Sum.inr ∘ b) |
| 48 | |
| 49 | end Lax185574.MatchedTuples |
| 50 |
Formalization notes
A bipartite graph (L, R, E) is given by two finite types L and R and a relation E between them. Its graph is the simple graph on L ⊕ R whose edges are the pairs related by E, . The number |ATypes(L/R)| is of this graph, for the vertices of L over the vertices of R. Since L and R are disjoint, it is the number of distinct neighborhoods of vertices of L. Computability of Q is mathlib's . The two sides are finite, which covers the use in the paper inside the proof of the ball-types lemma.
Used by
none
From Mathlib
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments