OAI/Combinatorics/BinaryEdit/SegmentCodeLCS.lean
4 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.TreeEdit.BinaryLower.SegmentCode.ofFn_windowline 10Source documentation
Array windows coincide with actual contiguous list segments.
theorem ofFn_window {α : Type*} {P : ℕ} (b : Fin P → α) (a i : ℕ) (hi : i+a ≤ P) : List.ofFn (fun t : Fin a => b (window a i hi t)) = ((List.ofFn b).drop i).take a := by … - theorem
OAI.TreeEdit.BinaryLower.SegmentCode.SegmentSeparated.lcs_leline 23Source documentation
The simultaneous increasing-matching property bounds the actual LCS of contiguous codeword segments.
theorem SegmentSeparated.lcs_le {K P a₀ : ℕ} {c : Fin K → Fin P → Bool} (hc : SegmentSeparated c a₀) (k l : Fin K) (hkl : k ≠ l) (a i j : ℕ) (ha : a₀ ≤ a) (hi : i+a ≤ P) (hj : j+a ≤ P) : 100 * lcs (((List.ofFn (c k)).drop i).take a) (((List.ofFn (c l)).drop j).take a) ≤ 99*a := by …Mentions: OAI.TreeEdit.BinaryLower.SegmentCode.SegmentSeparated, OAI.TreeEdit.lcs
- theorem
OAI.TreeEdit.BinaryLower.SegmentCode.exists_lcs_separated_codeline 44Source documentation
The codebook construction for an arbitrary finite alphabet, using the canonical concrete word type and the actual longest common subsequence.
theorem exists_lcs_separated_code (Γ : Type*) [Fintype Γ] (P a₀ : ℕ) (hprob : (Fintype.card Γ : ℝ)^2 * ((P+1 : ℕ) : ℝ)^3 * (9/10 : ℝ)^a₀ < 1) : ∃ c : Γ → Word Bool P, ∀ (k l : Γ), k ≠ l → ∀ (a i j : ℕ), a₀ ≤ a → i+a ≤ P → j+a ≤ P → 100 * lcs (((c k).val.drop i).take a) (((c l).val.drop j).take a) ≤ 99*a := by …Mentions: OAI.TreeEdit.Word, OAI.TreeEdit.lcs
- theorem
OAI.TreeEdit.BinaryLower.SegmentCode.exists_lcs_separated_code_realline 60Source documentation
Real-valued separation convention
LCS ≤ 0.99 aused in the manuscript.theorem exists_lcs_separated_code_real (Γ : Type*) [Fintype Γ] (P a₀ : ℕ) (hprob : (Fintype.card Γ : ℝ)^2 * ((P+1 : ℕ) : ℝ)^3 * (9/10 : ℝ)^a₀ < 1) : ∃ c : Γ → Word Bool P, ∀ (k l : Γ), k ≠ l → ∀ (a i j : ℕ), a₀ ≤ a → i+a ≤ P → j+a ≤ P → (lcs (((c k).val.drop i).take a) (((c l).val.drop j).take a) : ℝ) ≤ (99/100 : ℝ) * a := by …Mentions: OAI.TreeEdit.Word, OAI.TreeEdit.lcs