OAI/Combinatorics/EditApproximation/Geometry/OccurrenceIndex.lean
11 declarations, 0 contain sorry, 0 declared as axioms
A symbol dictionary of cached position tries. The target is enumerated once; interval occurrence queries use two logarithmic prefix counts.
- def
OAI.EditApproximation.occurrencePrefixCountline 13 - def
OAI.EditApproximation.occurrenceRangeCountline 17 - theorem
OAI.EditApproximation.occurrencePrefixCount_subline 22 - theorem
OAI.EditApproximation.occurrenceRangeCount_posline 36 - def
OAI.EditApproximation.occurrencePrefixline 62 - theorem
OAI.EditApproximation.occurrenceBuild_prefixline 65 - def
OAI.EditApproximation.occurrenceQueryline 92 - theorem
OAI.EditApproximation.occurrenceQuery_buildline 96 - theorem
OAI.EditApproximation.occurrenceBuildWithWork_specline 108 - theorem
OAI.EditApproximation.occurrenceQueryWithWork_specline 123 - theorem
OAI.EditApproximation.occurrenceQuery_targetline 134Source documentation
Converting the input list to its indexed entries is done only during preprocessing. Subsequent queries use endpoints and the dictionary.
theorem occurrenceQuery_target (symbolBits positionBits : ℕ) (target : List ℕ) (hsymbol : ∀ a ∈ target, a < 2 ^ symbolBits) (hposition : target.length ≤ 2 ^ positionBits) (a lo hi : ℕ) (ha : a < 2 ^ symbolBits) (hlo : lo ≤ hi) (hhi : hi ≤ target.length) : occurrenceQuery (occurrenceBuild symbolBits positionBits target.zipIdx) symbolBits positionBits a lo hi = true ↔ a ∈ substring target lo hi := by …Mentions: OAI.EditApproximation.occurrenceQuery, OAI.EditApproximation.occurrenceBuild, OAI.EditApproximation.substring