OAI/Combinatorics/ParityLifts/TreeMachine.lean
41 declarations, 0 contain sorry, 0 declared as axioms
- structure
OAI.ParityWL.Complexity.FinStackline 7 - def
OAI.ParityWL.Complexity.FinStack.ofline 14 - def
OAI.ParityWL.Complexity.dataRegline 17 - def
OAI.ParityWL.Complexity.workRegline 19 - lemma
OAI.ParityWL.Complexity.dataReg_ne_workRegline 21 - lemma
OAI.ParityWL.Complexity.workReg_injectiveline 27 - def
OAI.ParityWL.Complexity.dataWordsline 34 - lemma
OAI.ParityWL.Complexity.dataWords_dataline 37 - lemma
OAI.ParityWL.Complexity.dataWords_workline 40 - lemma
OAI.ParityWL.Complexity.dataWords_updateline 43 - def
OAI.ParityWL.Complexity.dataMassline 62 - lemma
OAI.ParityWL.Complexity.dataSize_le_massline 64 - inductive
OAI.ParityWL.Complexity.TreeOpline 68 - def
OAI.ParityWL.Complexity.TreeOp.evalline 75 - def
OAI.ParityWL.Complexity.testNilline 83 - lemma
OAI.ParityWL.Complexity.testNil_runline 86 - def
OAI.ParityWL.Complexity.TreeOp.routineline 97 - lemma
OAI.ParityWL.Complexity.TreeOp.routine_runline 106 - structure
OAI.ParityWL.Complexity.TreeMachineline 148Source documentation
Finite code over unbounded but explicitly serialized binary trees.
structure TreeMachine (Q : Type) (r : ℕ) where …
- def
OAI.ParityWL.Complexity.TreeMachine.lowerline 154 - instance
OAI.ParityWL.Complexity.(instance at line 161)line 161 - inductive
OAI.ParityWL.Complexity.TreeExecline 166Source documentation
Work is the sum of one plus the size of all live data before each step. The compiler bound below is linear in this actual execution measure.
inductive TreeExec {Q : Type} {r : ℕ} (P : TreeMachine Q r) : Q → (Fin r → DataTree) → ℕ → (Fin r → DataTree) → Bool → Prop | halt (q d b) (h : P.output q = some b) : TreeExec P q d 0 d b | next (q d) {m z c} (h : P.output q = none) (tail : TreeExec P (P.next q ((P.instruction q).eval d).2) ((P.instruction q).eval d).1 m z c) : TreeExec P q d (dataMass d + 1 + m) z cMentions: OAI.ParityWL.Complexity.TreeMachine, OAI.ParityWL.Complexity.DataTree, OAI.ParityWL.Complexity.dataMass
- lemma
OAI.ParityWL.Complexity.TreeExec.lowerline 174 - structure
OAI.ParityWL.Complexity.FinTreeline 188 - def
OAI.ParityWL.Complexity.FinTree.ofline 195 - def
OAI.ParityWL.Complexity.TreeRunsline 198 - def
OAI.ParityWL.Complexity.TreeMachine.haltline 201 - lemma
OAI.ParityWL.Complexity.treeHalt_runline 207 - def
OAI.ParityWL.Complexity.TreeMachine.atomicline 210 - lemma
OAI.ParityWL.Complexity.treeAtomic_runline 216 - lemma
OAI.ParityWL.Complexity.TreeExec.mapline 222 - def
OAI.ParityWL.Complexity.TreeMachine.andThenline 234 - lemma
OAI.ParityWL.Complexity.TreeExec.andThen_rightline 245 - lemma
OAI.ParityWL.Complexity.TreeExec.andThenline 251 - lemma
OAI.ParityWL.Complexity.TreeRuns.andThenline 274 - def
OAI.ParityWL.Complexity.TreeMachine.branchline 280 - lemma
OAI.ParityWL.Complexity.TreeRuns.branch_trueline 296 - lemma
OAI.ParityWL.Complexity.TreeRuns.branch_falseline 306 - def
OAI.ParityWL.Complexity.TreeMachine.repeatline 316 - lemma
OAI.ParityWL.Complexity.TreeExec.repeat_trueline 322 - lemma
OAI.ParityWL.Complexity.TreeExec.repeat_falseline 332