Definitions #
Equations
- PermPattern σ i j = (σ i = j)
Instances For
Proofs #
Marcus Tardos' theorem #
theorem den_submatrix_eq_sum_blk_den {n q : ℕ} (M : Fin n → Fin n → Prop) (hqn : q ∣ n) (f1 : Fin (n / q) → Fin (n / q) → Prop) :
have B := blkMatrix M q;
let B1 := fun (i j : Fin (n / q)) => B i j ∧ f1 i j;
have fq := fun (x : Fin n) => ⟨↑x / q, ⋯⟩;
have M1 := fun (i j : Fin n) => M i j ∧ B1 (fq i) (fq j);
let Q := Fin (n / q) × Fin (n / q);
density M1 = ∑ x : Q with
match x with
| (i, j) => B1 i j,
match x with
| (i, j) => blk_den M i j
theorem split_density_blk {n q : ℕ} (hqn : q ∣ n) (M : Fin n → Fin n → Prop) (f1 f2 : Fin (n / q) → Fin (n / q) → Prop) :
let Q := Fin (n / q) × Fin (n / q);
let f3 := fun (i j : Fin (n / q)) => ¬f1 i j ∧ ¬f2 i j;
have B := blkMatrix M q;
let B1 := fun (i j : Fin (n / q)) => B i j ∧ f1 i j;
let B2 := fun (i j : Fin (n / q)) => B i j ∧ f2 i j;
let N := fun (i j : Fin (n / q)) => B i j ∧ f3 i j;
density M ≤ ((∑ x : Q with
match x with
| (i, j) => B1 i j,
match x with
| (i, j) => blk_den M i j) + ∑ x : Q with
match x with
| (i, j) => B2 i j,
match x with
| (i, j) => blk_den M i j) + ∑ x : Q with
match x with
| (i, j) => N i j,
match x with
| (i, j) => blk_den M i j
theorem av_perm_contract_av_perm {k n : ℕ} (q : ℕ) (σ : Equiv.Perm (Fin k)) (M : Fin n → Fin n → Prop) (hM : ¬Contains (PermPattern σ) M) :
¬Contains (PermPattern σ) (blkMatrix M q)
theorem density_WB {n k : ℕ} (h_n : 0 < n) (h_k : k ^ 2 ∣ n) (M : Fin n → Fin n → Prop) {σ : Equiv.Perm (Fin k)} (M_avoid_perm : ¬Contains (PermPattern σ) M) :
theorem density_TB {n k : ℕ} (h_n : 0 < n) (h_k : k ^ 2 ∣ n) (M : Fin n → Fin n → Prop) {σ : Equiv.Perm (Fin k)} (M_avoid_perm : ¬Contains (PermPattern σ) M) :
theorem blk_den_SB {n : ℕ} (k : ℕ) (M : Fin n → Fin n → Prop) :
have q := k ^ 2;
have B := blkMatrix M q;
have W := fun (i j : Fin (n / q)) => k ≤ {c : Fin n | ∃ (r : Fin n), (r, c) ∈ rectPtsetqMatrix M q ↑i ↑j}.card;
have T := fun (i j : Fin (n / q)) => k ≤ {r : Fin n | ∃ (c : Fin n), (r, c) ∈ rectPtsetqMatrix M q ↑i ↑j}.card;
have S := fun (i j : Fin (n / q)) => ¬W i j ∧ ¬T i j;
have SB := fun (i j : Fin (n / q)) => S i j ∧ B i j;
∀ (i j : Fin (n / q)), SB i j → blk_den M i j ≤ (k - 1) ^ 2