OAI/Computability/Superstring/ThreadSupport.lean
76 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.Superstring.ArrayPerm.Edgesline 8 - def
OAI.Superstring.ArrayPerm.Validline 10 - def
OAI.Superstring.ArrayPerm.nextline 13 - theorem
OAI.Superstring.ArrayPerm.poly_nextline 16 - theorem
OAI.Superstring.ArrayPerm.next_memline 22 - theorem
OAI.Superstring.ArrayPerm.next_ltline 44 - theorem
OAI.Superstring.ArrayPerm.next_injectiveline 48 - def
OAI.Superstring.ArrayPerm.permline 54 - theorem
OAI.Superstring.ArrayPerm.perm_applyline 61 - theorem
OAI.Superstring.ArrayPerm.next_sizeline 65 - def
OAI.Superstring.ArrayPerm.advanceline 84 - theorem
OAI.Superstring.ArrayPerm.poly_advanceline 86 - theorem
OAI.Superstring.ArrayPerm.iterate_advanceline 88 - theorem
OAI.Superstring.ArrayPerm.poly_iterate_advanceline 94 - def
OAI.Superstring.ArrayPerm.powerline 108 - theorem
OAI.Superstring.ArrayPerm.poly_powerline 110 - theorem
OAI.Superstring.ArrayPerm.power_permline 114 - theorem
OAI.Superstring.ArrayPerm.power_ltline 123 - theorem
OAI.Superstring.Computable.poly_replicateline 133 - def
OAI.Superstring.Computable.indexedline 138 - theorem
OAI.Superstring.Computable.poly_indexedline 141 - theorem
OAI.Superstring.Computable.indexed_fstline 148 - theorem
OAI.Superstring.Computable.indexed_sndline 153 - theorem
OAI.Superstring.Computable.indexed_nodupline 161 - theorem
OAI.Superstring.Computable.mem_indexedline 165 - def
OAI.Superstring.Computable.downValueline 177 - theorem
OAI.Superstring.Computable.poly_downValueline 180 - theorem
OAI.Superstring.Computable.downValue_eqline 184 - def
OAI.Superstring.Computable.downWordsline 202 - theorem
OAI.Superstring.Computable.poly_downWordsline 205 - theorem
OAI.Superstring.Computable.downWords_countline 211 - def
OAI.Superstring.Computable.requestsline 221 - theorem
OAI.Superstring.Computable.poly_requestsline 225 - theorem
OAI.Superstring.Computable.requests_fstline 230 - theorem
OAI.Superstring.Computable.requests_sndline 235 - theorem
OAI.Superstring.Computable.requests_nodupline 241 - theorem
OAI.Superstring.Computable.down_capacityline 244 - def
OAI.Superstring.Computable.computePairsline 263 - theorem
OAI.Superstring.Computable.poly_computePairsline 266 - theorem
OAI.Superstring.Computable.computePairs_correctline 270 - theorem
OAI.Superstring.Computable.downWords_memline 277 - theorem
OAI.Superstring.Computable.downWords_lengthline 296 - theorem
OAI.Superstring.Computable.mem_requestsline 308 - def
OAI.Superstring.Computable.edgesline 319 - theorem
OAI.Superstring.Computable.poly_edgesline 322 - theorem
OAI.Superstring.Computable.edges_validline 326 - theorem
OAI.Superstring.Computable.edge_followsline 336 - def
OAI.Superstring.Computable.arrayThreadingline 352Source documentation
The actual polynomially computed greedy matching, used as a mathematical threading. Only its finite inverse proof is noncomputable; the forward table is code.
noncomputable def arrayThreading (S : List (List α)) : Hierarchical.Threading ((Input.data S).vertices : Set (List α)) (Fin (downWords S).length) where …Mentions: OAI.Superstring.Hierarchical.Threading, OAI.Superstring.Input.data, OAI.Superstring.Computable.vertices, OAI.Superstring.Computable.downWords
- theorem
OAI.Superstring.Computable.countP_sumline 363 - theorem
OAI.Superstring.Computable.card_get_filterline 370 - theorem
OAI.Superstring.Computable.arrayThreading_histogramline 374 - theorem
OAI.Superstring.Computable.arrayThreading_recorded_countline 380 - theorem
OAI.Superstring.Computable.arrayThreading_budgetline 388 - theorem
OAI.Superstring.Hierarchical.Threading.short_text_periodline 401Source documentation
A single orbit, not the (potentially exponentially large) order of the whole permutation, bounds each stored primitive phase word.
theorem short_text_period (C : Threading V ι) (i : ι) : ∃ p : ℕ, 0 < p ∧ p ≤ Fintype.card ι ∧ Function.Periodic (C.text i) (p : ℤ) := by …Mentions: OAI.Superstring.Hierarchical.Threading
- theorem
OAI.Superstring.Hierarchical.Threading.primitive_le_cardline 411 - def
OAI.Superstring.Hierarchical.Threading.finiteKeyline 416 - theorem
OAI.Superstring.Hierarchical.Threading.length_finiteKeyline 419 - theorem
OAI.Superstring.Hierarchical.Threading.finiteKey_getline 424 - theorem
OAI.Superstring.Hierarchical.Threading.finiteKey_eq_iffline 430 - theorem
OAI.Superstring.Hierarchical.Threading.sameText_boundedline 446 - abbrev
OAI.Superstring.ThreadArray.Codeline 478 - structure
OAI.Superstring.ThreadArray.Representsline 481Source documentation
Finite array semantics: no periodic/oracle tests are hidden in the code.
structure Represents {V : Set (List α)} (K : Code α) (C : Threading V (Fin K.1.length)) : Prop where …Mentions: OAI.Superstring.ThreadArray.Code
- def
OAI.Superstring.ThreadArray.keyline 486 - theorem
OAI.Superstring.ThreadArray.poly_keyline 491 - theorem
OAI.Superstring.ThreadArray.power_eqline 503 - theorem
OAI.Superstring.ThreadArray.key_eqline 514 - def
OAI.Superstring.ThreadArray.compatibleline 532 - theorem
OAI.Superstring.ThreadArray.poly_compatibleline 535 - theorem
OAI.Superstring.ThreadArray.compatible_eqline 543 - def
OAI.Superstring.ThreadArray.firstline 554Source documentation
A bounded first-admissible search. Its proof gives both success and order; it does not assume a choice primitive in the computational model.
def first (n : ℕ) (P : ℕ → Bool) : ℕ := ((List.range n).filter P).headD 0 …
- theorem
OAI.Superstring.ThreadArray.first_specline 557 - def
OAI.Superstring.ThreadArray.periodline 583 - theorem
OAI.Superstring.ThreadArray.poly_periodline 586 - theorem
OAI.Superstring.ThreadArray.test_periodline 594 - theorem
OAI.Superstring.ThreadArray.period_specline 603 - theorem
OAI.Superstring.BitCode.Poly.divline 628