OAI/Combinatorics/LowSpaceSubsetSum/Search/PreparedParentExecution.lean
7 declarations, 0 contain sorry, 0 declared as axioms
Parent execution with shared prepared arrays
Both arrays and both initial tournaments are built once. The two contexts are then passed by value to the counted join. Its returned dictionary and counters have a type independent of the hidden tournament depths.
- structure
OAI.LowSpaceSubsetSum.PreparedParentExecution.Resultline 16 - def
OAI.LowSpaceSubsetSum.PreparedParentExecution.projectline 23 - def
OAI.LowSpaceSubsetSum.PreparedParentExecution.runContextsline 27 - def
OAI.LowSpaceSubsetSum.PreparedParentExecution.collectline 35 - theorem
OAI.LowSpaceSubsetSum.PreparedParentExecution.runContexts_sourceline 43 - theorem
OAI.LowSpaceSubsetSum.PreparedParentExecution.collect_valueline 53Source documentation
Exact stored dictionary, counters and termination flag, after setup.
theorem collect_value (D : RepresentationParentData n) (F : IndexedMask n) (P : StoredRestriction n) (hF : F.semantic = D.signs) (B fuel₀ fuel₁ control : ℕ) (h₀ : fuel₀ = (D.pair 0).lengthBound) (h₁ : fuel₁ = (D.pair 1).lengthBound) (hcontrol : control = fuel₀ + fuel₁ + 1) : (collect D F P hF B fuel₀ fuel₁ control).1 = project (StoredParentExecution.collect {D with maskRestriction := P.semantic} F hF B).1 := by …Mentions: OAI.LowSpaceSubsetSum.RepresentationParentData, OAI.LowSpaceSubsetSum.IndexedMask, OAI.LowSpaceSubsetSum.StoredRestriction, OAI.LowSpaceSubsetSum.PreparedParentExecution.collect, OAI.LowSpaceSubsetSum.PreparedParentExecution.project, OAI.LowSpaceSubsetSum.StoredParentExecution.collect
- theorem
OAI.LowSpaceSubsetSum.PreparedParentExecution.collect_workline 66Source documentation
Setup is charged once per child stream, followed by the exact join ledger.
theorem collect_work (D : RepresentationParentData n) (F : IndexedMask n) (P : StoredRestriction n) (hF : F.semantic = D.signs) (B fuel₀ fuel₁ control C : ℕ) (h₀ : fuel₀ = (D.pair 0).lengthBound) (h₁ : fuel₁ = (D.pair 1).lengthBound) (hcontrol : control = fuel₀ + fuel₁ + 1) (hn : 10000 ≤ n) (hl : ∀ j, (D.pair j).left.occurrences.card ≤ C) (hr : ∀ j, (D.pair j).right.occurrences.card ≤ C) (hC : C ≤ 2 ^ n) (hd₀ : Nat.clog 2 ({D with maskRestriction := P.semantic}.pair 0).leftArray.size ≤ n) …Mentions: OAI.LowSpaceSubsetSum.RepresentationParentData, OAI.LowSpaceSubsetSum.IndexedMask, OAI.LowSpaceSubsetSum.StoredRestriction