CubicPathwidth.PwSeq.Defs
Source file CubicPathwidth/PwSeq/Defs.lean of the Lean project (how it is built).
import CubicPathwidth.PwSeqSpec
import CubicPathwidth.T4.Defs
/-!
# Plan interfaces for the pathwidth-sequence targets (not the approval surface)
Every `...Claim` below is a DEFINED proposition. Theorems using one take it as an
explicit hypothesis. No axiom is introduced.
* `BootPropsK k b`: the properties of a coefficient sequence used by the bootstrap
lemma with base degree `k` (Lemma 9.6, `lem:extension`); for `k = 5` it contains
`T4.BootProps`.
* `ExtensionClaim` (Q2): Lemma 9.6 (`lem:extension`) for general `k`: the bootstrap of a seed
satisfying `SeedHyp` has these properties.
* `BootstrapKClaim` (Q3): Lemma 9.3 (`lem:bootstrap`) for general `k`, with the base hypothesis on
graphs of minimum degree at least `3` and maximum degree at most `k`.
-/
noncomputable section
namespace CubicPathwidth
namespace PwSeq
open T2 T4
/-- `PwSeq.runMin` and `T4.runMin` are the same function. -/
theorem runMin_eq_t4 (b : ℕ → ℝ) : PwSeq.runMin b = T4.runMin b := by
funext d
induction d using Nat.strong_induction_on with
| _ d ih =>
match d, ih with
| 0, _ => rfl
| 1, _ => rfl
| 2, _ => rfl
| 3, _ => rfl
| d + 4, ih =>
simp only [PwSeq.runMin, T4.runMin, PwSeq.incr, T4.incr]
rw [ih (d + 3) (by omega)]
/-- Properties of a coefficient sequence used by the bootstrap lemma, base degree `k`
(`lem:extension` and the hypotheses of Lemma 9.3 (`lem:bootstrap`)). `H_d` is `T4.runMin b d`. -/
structure BootPropsK (k : ℕ) (b : ℕ → ℝ) : Prop where
three_le : 3 ≤ k
zero : b 0 = 0 ∧ b 1 = 0 ∧ b 2 = 0
mono : ∀ d : ℕ, 3 ≤ d → b (d - 1) ≤ b d
identity : ∀ d : ℕ, k + 1 ≤ d →
1 - b d = ((d : ℝ) - 1) * T4.runMin b d + T4.runMin b (d - 1)
budget : ∀ d : ℕ, k ≤ d → b d + T4.runMin b d ≤ 1
runMin_nonneg : ∀ d : ℕ, 0 ≤ T4.runMin b d
le_one : ∀ d : ℕ, b d ≤ 1
/-- (Q2) Lemma 9.6 (`lem:extension`) for general `k`. -/
def ExtensionClaim : Prop :=
∀ (k : ℕ) (a : ℕ → ℝ), SeedHyp k a → BootPropsK k (bootstrapSeq k a)
/-- (Q3) Lemma 9.3 (`lem:bootstrap`) for general base degree `k`: a uniform bound on graphs with
minimum degree at least `3` and maximum degree at most `k` extends to all graphs. -/
def BootstrapKClaim : Prop :=
∀ (k : ℕ) (b : ℕ → ℝ), BootPropsK k b →
(∀ ε : ℝ, 0 < ε → ∃ N : ℕ, ∀ n : ℕ, N ≤ n → ∀ G : SimpleGraph (Fin n),
HasMinDegreeAtLeast 3 G → MaxDegreeAtMost k G →
HasPathwidthAtMost G (degreeWeight G b + ε * n)) →
∀ ε : ℝ, 0 < ε → ∃ N : ℕ, ∀ n : ℕ, N ≤ n → ∀ G : SimpleGraph (Fin n),
HasPathwidthAtMost G (degreeWeight G b + ε * n)
end PwSeq
end CubicPathwidth
Back to top