From merge sequences to locally definable construction sequences
Lax185574.MergeToConstruction · concepts/Lax185574/MergeToConstruction.lean · lax-185574
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
For every n-vertex graph G and merge sequence (𝒫₁, R₁), …, (𝒫_ℓ, R_ℓ) of G, there is a construction sequence G₁, …, G_λ of G such that the following properties hold for all r ≥ 1. Let w_r be the radius-r width of the merge sequence.
- The obtained construction sequence has radius-r width at most w_r, and has length λ ≤ O(n w₁).
- Suppose for every i ∈ [ℓ], the relations ≡{𝒫_i} and R_i are definable in some expansion of G with 2 unary predicates, using two fixed first-order formulas of quantifier rank 5. Then, for every t ∈ [λ−1] and v ∈ V(G), the induced partial graph G_t[Ball^{G{t+1}}_r(v)] is definable in some expansion of G with 2ℓ+1 unary predicates, using formulas of quantifier rank 7 with w_r parameters.
- The construction sequence can be computed in time O(ℓ n²), given an n-vertex graph G and merge sequence of length ℓ.
Concept map
Evidence
Each proof establishes this claim relative to its assumptions.
In the paper
- page 37 of this submission's paper
Lean source view on GitHub
| 1 | import Lax185574.BetterMergeSequences |
| 2 | import Lax185574.ConstructionWidth |
| 3 | import Lax185574.LocalDefinability |
| 4 | import Lax185574.ConstructionSequences |
| 5 | |
| 6 | /-! |
| 7 | --- |
| 8 | title: From merge sequences to locally definable construction sequences |
| 9 | type: lemma |
| 10 | --- |
| 11 | For every n-vertex graph G and merge sequence (𝒫₁, R₁), …, (𝒫_ℓ, R_ℓ) of |
| 12 | G, there is a construction sequence G₁, …, G_λ of G such that the |
| 13 | following properties hold for all r ≥ 1. Let w_r be the radius-r width |
| 14 | of the merge sequence. |
| 15 | |
| 16 | 1. The obtained construction sequence has radius-r width at most w_r, |
| 17 | and has length λ ≤ O(n w₁). |
| 18 | 2. Suppose for every i ∈ [ℓ], the relations ≡_{𝒫_i} and R_i are |
| 19 | definable in some expansion of G with 2 unary predicates, using two |
| 20 | fixed first-order formulas of quantifier rank 5. Then, for every |
| 21 | t ∈ [λ−1] and v ∈ V(G), the induced partial graph |
| 22 | G_t[Ball^{G_{t+1}}_r(v)] is definable in some expansion of G with |
| 23 | 2ℓ+1 unary predicates, using formulas of quantifier rank 7 with w_r |
| 24 | parameters. |
| 25 | 3. The construction sequence can be computed in time O(ℓ n²), given an |
| 26 | n-vertex graph G and merge sequence of length ℓ. |
| 27 | |
| 28 | # Formalization notes |
| 29 | |
| 30 | The construction sequence is produced by a function `script` of the |
| 31 | graph and the merge sequence, as a script of |
| 32 | `Lax185574.ConstructionSequences`, and the algorithm `A` computes this |
| 33 | function, in the sense of `Lax185574.Algorithms`. The algorithm, the |
| 34 | constant `c` of the time bound O((ℓ+1) · (n+1)²) and the constant `K` of |
| 35 | the length bound come first, so both constants are absolute. The input |
| 36 | is the pair (G, merge sequence). A graph has the vertices `Fin n`, and |
| 37 | the notions of merge sequences and construction sequences are applied |
| 38 | to its `SimpleGraph`. |
| 39 | |
| 40 | A merge sequence is one in the sense of `Lax185574.MergeSequences`, so |
| 41 | 𝒫₁ is the partition into singletons and 𝒫_ℓ = {V(G)} by its definition. |
| 42 | |
| 43 | The width of item 1 is the radius-r width of |
| 44 | `Lax185574.ConstructionWidth`, which counts parts. The length bound |
| 45 | O(n w₁) is spelled out as K · (n+1) · (w₁+1). The radius-r width of the |
| 46 | merge sequence is `MergeSequences.mergeWidth`. The definability |
| 47 | hypothesis of item 2 is `BetterMergeSequences.StagesDefinable` for some |
| 48 | two formulas of quantifier rank at most 5, and the conclusion is |
| 49 | `LocalDefinability.IsRadiusDefinable` with 2ℓ+1 predicates, w_r |
| 50 | parameters and rank 7. |
| 51 | |
| 52 | **Deviation from the paper.** Both bounds use max(1, w_r) instead of |
| 53 | w_r. On a graph with one vertex the merge sequence of length 1 has width |
| 54 | 0, the maximum over an empty range, while every construction sequence |
| 55 | has width 1. For n ≥ 2 the two agree, since every merge sequence has |
| 56 | length at least 2 and width at least 1. |
| 57 | |
| 58 | Every number in the encoding of the script is at most the length of the |
| 59 | encoding plus n (`Script.HasSmallNumbers`). The paper does not say |
| 60 | this. An algorithm can ensure it by giving the vertices of the initial |
| 61 | partial graph the colors 0, …, n − 1. The bound lets the output be |
| 62 | passed on as in `Lax185574.DefinableSequences`. |
| 63 | -/ |
| 64 | |
| 65 | namespace Lax185574.MergeToConstruction |
| 66 | |
| 67 | open FirstOrder FirstOrder.Language Lax710763.Transductions |
| 68 | open Lax185574.Graphs Lax185574.Algorithms |
| 69 | open Lax185574.Partitions Lax185574.MergeSequences Lax185574.BetterMergeSequences |
| 70 | open Lax185574.ConstructionSequences Lax185574.ConstructionWidth |
| 71 | open Lax185574.LocalDefinability Lax185574.FirstOrderTypes |
| 72 | |
| 73 | /-- **Merge sequences to construction sequences.** One algorithm |
| 74 | converts a merge sequence of length `ℓ` of a graph into a construction |
| 75 | sequence of the same graph, given by its script, in time |
| 76 | `O((ℓ+1) · (n+1)²)`. For every `r ≥ 1`, the construction sequence has |
| 77 | radius-`r` width at most `max 1 w_r`, where `w_r` is the radius-`r` |
| 78 | width of the merge sequence, and length at most `K · (n+1) · (w₁+1)`. If |
| 79 | two formulas of quantifier rank at most `5` define the stages, it is |
| 80 | radius-`r` definable with `2ℓ+1` predicates, `max 1 w_r` parameters and |
| 81 | rank `7`. -/ |
| 82 | axiom exists_constructionSequence_of_mergeSequence : |
| 83 | ∃ (A : Algorithm) (c K : ℕ) (script : (G : Graph) → |
| 84 | List (Setoid (Fin G.n) × SimpleGraph (Fin G.n)) → Script G.n), |
| 85 | ∀ (G : Graph) (ms : List (Setoid (Fin G.n) × SimpleGraph (Fin G.n))), |
| 86 | IsMergeSequence G.toSimpleGraph ms → |
| 87 | let σ := script G ms |
| 88 | IsConstructionSequence G.toSimpleGraph σ.run ∧ σ.HasSmallNumbers ∧ |
| 89 | σ.run.length ≤ K * (G.n + 1) * (mergeWidth 1 ms + 1) ∧ |
| 90 | (∀ r : ℕ, 1 ≤ r → |
| 91 | constructionWidth r σ.run ≤ max 1 (mergeWidth r ms) ∧ |
| 92 | ((∃ φeq φR : (withColors Language.graph 2).Formula (Fin 2), |
| 93 | quantifierRank φeq ≤ 5 ∧ quantifierRank φR ≤ 5 ∧ |
| 94 | StagesDefinable G.toSimpleGraph ms φeq φR) → |
| 95 | IsRadiusDefinable G.toSimpleGraph σ.run r (2 * ms.length + 1) |
| 96 | (max 1 (mergeWidth r ms)) 7)) ∧ |
| 97 | A.Computes c (G, ms) σ ((ms.length + 1) * (G.n + 1) ^ 2) |
| 98 | |
| 99 | end Lax185574.MergeToConstruction |
| 100 |
Formalization notes
The construction sequence is produced by a function of the graph and the merge sequence, as a script of , and the algorithm computes this function, in the sense of . The algorithm, the constant of the time bound O((ℓ+1) · (n+1)²) and the constant of the length bound come first, so both constants are absolute. The input is the pair (G, merge sequence). A graph has the vertices , and the notions of merge sequences and construction sequences are applied to its .
A merge sequence is one in the sense of , so 𝒫₁ is the partition into singletons and 𝒫_ℓ = {V(G)} by its definition.
The width of item 1 is the radius-r width of , which counts parts. The length bound O(n w₁) is spelled out as K · (n+1) · (w₁+1). The radius-r width of the merge sequence is . The definability hypothesis of item 2 is for some two formulas of quantifier rank at most 5, and the conclusion is with 2ℓ+1 predicates, w_r parameters and rank 7.
Deviation from the paper. Both bounds use max(1, w_r) instead of w_r. On a graph with one vertex the merge sequence of length 1 has width 0, the maximum over an empty range, while every construction sequence has width 1. For n ≥ 2 the two agree, since every merge sequence has length at least 2 and width at least 1.
Every number in the encoding of the script is at most the length of the encoding plus n (). The paper does not say this. An algorithm can ensure it by giving the vertices of the initial partial graph the colors 0, …, n − 1. The bound lets the output be passed on as in .
Builds on
Used by
none
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments