OAI/Combinatorics/LowSpaceSubsetSum/Separators/StoredSeparatorCheck.lean
30 declarations, 0 contain sorry, 0 declared as axioms
A measured separator checker on stored dictionaries
Each block retains its coordinate vector and both incidence tables. The recursive checker passes those fixed tables to the measured DFS; only record-pointer lists are filtered or sorted during individual checks.
- structure
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Blockline 20 - def
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.leftline 39 - def
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.rightline 42 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.left_sortedline 45 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.right_sortedline 50 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.left_boundline 55 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.right_boundline 60 - def
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.sourceline 65 - def
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.leftQueryline 72 - def
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.rightQueryline 77 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.leftQuery_valueline 82 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.rightQuery_valueline 86 - def
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.queryBoundline 90 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.leftQuery_workline 92 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.rightQuery_workline 101 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.preprocess_sortedline 112 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.preprocess_boundline 124 - def
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.prepareBlockline 135Source documentation
The table construction runs once for this block.
def prepareBlock (row : Vector (Fin n) g) (family : Array (Fin (2 ^ g))) (depth steps : ℕ) (hd : depth = Nat.clog 2 family.size) (hs : family.size < 2 ^ steps) : Block n g × ℕ := … - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.prepareBlock_workline 149 - def
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.prepareFourline 156Source documentation
Four preparations are shared by every dictionary check in this trial.
def prepareFour (rows : Fin 4 → Vector (Fin n) g) (families : Fin 4 → Array (Fin (2 ^ g))) (depths steps : Fin 4 → ℕ) (hd : ∀ i, depths i = Nat.clog 2 (families i).size) (hs : ∀ i, (families i).size < 2 ^ steps i) : List (Block n g) × ℕ := … - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.prepareFour_valueline 166 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.prepareFour_lengthline 173 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.prepareFour_workline 179 - def
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.runline 193Source documentation
The capacity is supplied once; guards charge their two list-length scans.
def run (capacity : ℕ) (target : ℤ) : List (Block n g) → List (StoredEntry n) → List (StoredEntry n) → Bool × ℕ | [], xs, ys => let size := xs.length + ys.length …Mentions: OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block, OAI.LowSpaceSubsetSum.StoredEntry
- theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.run_valueline 209 - def
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.factorline 233 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.factor_geline 237 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.run_workline 241Source documentation
Source scans are the same ledger used by the established expectation bound.
theorem run_work (capacity : ℕ) (hcap : capacity = 2 ^ n) (target : ℤ) (blocks : List (Block n g)) (xs ys : List (StoredEntry n)) : (run capacity target blocks xs ys).2 ≤ factor n blocks * ((SeparatorBlocks.check n StoredEntry.value StoredEntry.value target (blocks.map Block.source) xs ys).scans + xs.length + ys.length + 1) := by …Mentions: OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block, OAI.LowSpaceSubsetSum.StoredEntry, OAI.LowSpaceSubsetSum.StoredSeparatorCheck.run, OAI.LowSpaceSubsetSum.StoredSeparatorCheck.factor, OAI.LowSpaceSubsetSum.SeparatorBlocks.check, OAI.LowSpaceSubsetSum.StoredSeparatorCheck.Block.source
- theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.factor_add_boundline 277 - theorem
OAI.LowSpaceSubsetSum.StoredSeparatorCheck.four_factorline 289