OAI/Combinatorics/LowSpaceSubsetSum/Streams/SliceCursor.lean
12 declarations, 0 contain sorry, 0 declared as axioms
Cyclic row cursors into one shared immutable array
Each cursor stores its slice endpoints and the constant-size cyclic state. Reading a row accesses the original array; it does not allocate a row array. Empty slices have no cursor. The list slice and full trace are proof views.
- structure
OAI.LowSpaceSubsetSum.SliceCursor.Rangeline 18 - structure
OAI.LowSpaceSubsetSum.SliceCursor.Stateline 24 - def
OAI.LowSpaceSubsetSum.SliceCursor.valuesline 28 - def
OAI.LowSpaceSubsetSum.SliceCursor.nextline 31 - def
OAI.LowSpaceSubsetSum.SliceCursor.outputline 39 - theorem
OAI.LowSpaceSubsetSum.SliceCursor.readerline 46 - def
OAI.LowSpaceSubsetSum.SliceCursor.initialline 57 - def
OAI.LowSpaceSubsetSum.SliceCursor.sliceline 63Source documentation
A slice is a proof view, not a newly allocated row array.
def slice (xs : Array α) (r : Range xs.size) : List α := List.ofFn (values xs r)
Mentions: OAI.LowSpaceSubsetSum.SliceCursor.Range, OAI.LowSpaceSubsetSum.SliceCursor.values
- theorem
OAI.LowSpaceSubsetSum.SliceCursor.initial_permline 65 - theorem
OAI.LowSpaceSubsetSum.SliceCursor.initial_lengthline 76 - theorem
OAI.LowSpaceSubsetSum.SliceCursor.slice_eq_drop_takeline 81 - theorem
OAI.LowSpaceSubsetSum.SliceCursor.initial_occurrencesline 92