OAI/Computability/RationalHitting/DenseRecords.lean
43 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.RationalHitting.StackLanguage.codeWordline 9Source documentation
Self-delimiting word records (distinct from the final output encoding).
def codeWord : List Bool → List Bool | [] => [true] | b::w => false::b::codeWord w
- theorem
OAI.RationalHitting.StackLanguage.codeWord_lengthline 13 - def
OAI.RationalHitting.StackLanguage.pairWordline 16 - lemma
OAI.RationalHitting.StackLanguage.pairWord_nilline 17 - lemma
OAI.RationalHitting.StackLanguage.pairWord_consline 18 - lemma
OAI.RationalHitting.StackLanguage.pairWord_appendline 20 - lemma
OAI.RationalHitting.StackLanguage.codeWord_pairline 22 - def
OAI.RationalHitting.StackLanguage.packLoopline 25 - lemma
OAI.RationalHitting.StackLanguage.eval_packLoopline 28 - def
OAI.RationalHitting.StackLanguage.packRecordline 54Source documentation
Consume a binary word, prepending one encoded reversed record.
def packRecord : Program (Fin 3) := .seq (.push 1 true) (packLoop 0 1)
Mentions: OAI.RationalHitting.StackLanguage.Program, OAI.RationalHitting.StackLanguage.packLoop
- lemma
OAI.RationalHitting.StackLanguage.eval_packRecordline 56 - def
OAI.RationalHitting.StackLanguage.unpackBodyline 70 - lemma
OAI.RationalHitting.StackLanguage.eval_unpackLoopline 73 - def
OAI.RationalHitting.StackLanguage.unpackRecordline 109Source documentation
Remove one self-delimiting record; produce its reversed binary word.
def unpackRecord : Program (Fin 3) := .seq (.push 2 true) (.loop 2 unpackBody)
Mentions: OAI.RationalHitting.StackLanguage.Program, OAI.RationalHitting.StackLanguage.unpackBody
- lemma
OAI.RationalHitting.StackLanguage.eval_unpackRecordline 111 - def
OAI.RationalHitting.StackLanguage.codeArrayline 130Source documentation
Dense serialized arrays of variable-width binary records.
def codeArray (ws : List (List Bool)) : List Bool := ws.flatMap codeWord
- lemma
OAI.RationalHitting.StackLanguage.codeArray_nilline 131 - lemma
OAI.RationalHitting.StackLanguage.codeArray_consline 132 - lemma
OAI.RationalHitting.StackLanguage.codeArray_appendline 134 - lemma
OAI.RationalHitting.StackLanguage.codeArray_nonemptyline 137 - def
OAI.RationalHitting.StackLanguage.unpackMoveline 144 - def
OAI.RationalHitting.StackLanguage.packMoveline 145 - def
OAI.RationalHitting.StackLanguage.recordMoveline 146 - lemma
OAI.RationalHitting.StackLanguage.eval_recordMoveline 149 - lemma
OAI.RationalHitting.StackLanguage.eval_recordMove_renameline 182 - def
OAI.RationalHitting.StackLanguage.arrayForwardline 191 - def
OAI.RationalHitting.StackLanguage.arrayBackwardline 192 - def
OAI.RationalHitting.StackLanguage.scanBodyline 193 - def
OAI.RationalHitting.StackLanguage.scanline 194 - def
OAI.RationalHitting.StackLanguage.scanCostline 197Source documentation
Number of real finite-stack macrosteps for scanning a given prefix.
def scanCost (ws : List (List Bool)) : ℕ := …
- lemma
OAI.RationalHitting.StackLanguage.eval_scanline 200 - lemma
OAI.RationalHitting.StackLanguage.scanCost_boundline 228 - def
OAI.RationalHitting.StackLanguage.restoreline 240 - def
OAI.RationalHitting.StackLanguage.restoreCostline 241 - lemma
OAI.RationalHitting.StackLanguage.eval_restoreline 244 - lemma
OAI.RationalHitting.StackLanguage.restoreCost_boundline 266 - lemma
OAI.RationalHitting.StackLanguage.codeArray_reverse_lengthline 273 - def
OAI.RationalHitting.StackLanguage.peekUnpackline 277 - def
OAI.RationalHitting.StackLanguage.peekPackline 278 - def
OAI.RationalHitting.StackLanguage.peekRecordline 279 - lemma
OAI.RationalHitting.StackLanguage.eval_peekRecordline 283 - def
OAI.RationalHitting.StackLanguage.arrayReadline 314Source documentation
Indexed read. Register 4 is a unary index; register 0 is a serialized array and is restored byte-for-byte. Register 5 receives the exact binary word.
def arrayRead : Program (Fin 8) := .seq scan (.seq peekRecord restore)
Mentions: OAI.RationalHitting.StackLanguage.Program, OAI.RationalHitting.StackLanguage.scan, OAI.RationalHitting.StackLanguage.peekRecord, OAI.RationalHitting.StackLanguage.restore
- theorem
OAI.RationalHitting.StackLanguage.eval_arrayReadline 316