OAI/Combinatorics/LowSpaceSubsetSum/Streams/RowMerge.lean
20 declarations, 0 contain sorry, 0 declared as axioms
A tournament merge with one current occurrence per row
The shared immutable input arrays are parameters of the row reader. Each leaf contains a row identifier, its current item, and its cursor after that item. Advancing the winning row performs one row read and one tournament replacement. The remaining lists below are ghost views used for correctness; the merge state stores no pair-product list.
- abbrev
OAI.LowSpaceSubsetSum.RowMerge.Pathline 23 - structure
OAI.LowSpaceSubsetSum.RowMerge.Frontline 25 - def
OAI.LowSpaceSubsetSum.RowMerge.frontline 30 - def
OAI.LowSpaceSubsetSum.RowMerge.startline 33 - def
OAI.LowSpaceSubsetSum.RowMerge.Alignedline 37 - theorem
OAI.LowSpaceSubsetSum.RowMerge.front_rowline 40 - theorem
OAI.LowSpaceSubsetSum.RowMerge.start_alignedline 48 - theorem
OAI.LowSpaceSubsetSum.RowMerge.start_validline 54 - def
OAI.LowSpaceSubsetSum.RowMerge.advanceline 58 - theorem
OAI.LowSpaceSubsetSum.RowMerge.advance_validline 64 - theorem
OAI.LowSpaceSubsetSum.RowMerge.advance_alignedline 77 - theorem
OAI.LowSpaceSubsetSum.RowMerge.winner_at_own_rowline 95 - theorem
OAI.LowSpaceSubsetSum.RowMerge.winner_is_minimumline 104 - def
OAI.LowSpaceSubsetSum.RowMerge.IsReaderline 113Source documentation
A row reader's finite output law, used only in the correctness proof.
def IsReader (read : σ → Option (α × σ)) (view : σ → List α) : Prop := …
- theorem
OAI.LowSpaceSubsetSum.RowMerge.cyclic_next_readerline 118 - def
OAI.LowSpaceSubsetSum.RowMerge.remainingline 127 - theorem
OAI.LowSpaceSubsetSum.RowMerge.start_remainingline 133 - theorem
OAI.LowSpaceSubsetSum.RowMerge.replace_remainingline 146 - def
OAI.LowSpaceSubsetSum.RowMerge.potentialline 166 - theorem
OAI.LowSpaceSubsetSum.RowMerge.replacement_consumes_oneline 169