OAI/Computability/RationalHitting/Tabulation.lean
52 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.RationalHitting.StackLanguage.listCodeline 9Source documentation
Reusable dense records. Individual word lengths need not be fixed.
def listCode {A : Type} (ca : A → List Bool) (l : List A) : List Bool := … - lemma
OAI.RationalHitting.StackLanguage.listCode_nilline 11 - lemma
OAI.RationalHitting.StackLanguage.listCode_consline 12 - lemma
OAI.RationalHitting.StackLanguage.listCode_appendline 14 - lemma
OAI.RationalHitting.StackLanguage.listCode_singletonline 16 - lemma
OAI.RationalHitting.StackLanguage.length_le_listCodeline 18 - lemma
OAI.RationalHitting.StackLanguage.listCode_length_leline 23 - lemma
OAI.RationalHitting.StackLanguage.listCode_elementline 32 - theorem
OAI.RationalHitting.StackLanguage.Feasible.listConsline 45 - theorem
OAI.RationalHitting.StackLanguage.Feasible.listSingletonline 49 - theorem
OAI.RationalHitting.StackLanguage.Feasible.listAppendline 52 - theorem
OAI.RationalHitting.StackLanguage.Feasible.unarySuccline 66 - def
OAI.RationalHitting.StackLanguage.tableStepline 74Source documentation
A complete uniform table-building step: evaluation of a compiled callback, indexed counter update, and append of an escaped dense record.
def tableStep {A B : Type} (f : A × ℕ → B) (a : A × (ℕ × List B)) : A × (ℕ × List B) := … - def
OAI.RationalHitting.StackLanguage.tableStateCodeline 77 - lemma
OAI.RationalHitting.StackLanguage.tableStateCode_lengthline 80 - lemma
OAI.RationalHitting.StackLanguage.tableStep_iterate_fieldsline 85 - lemma
OAI.RationalHitting.StackLanguage.tableStep_iterate_sizeline 93 - lemma
OAI.RationalHitting.StackLanguage.tableStep_iterate_startline 128 - theorem
OAI.RationalHitting.StackLanguage.Feasible.tableStepline 139 - theorem
OAI.RationalHitting.StackLanguage.Feasible.tabulateline 152Source documentation
Polynomial-time tabulation of an arbitrary polynomial-time callback. The construction uses only one finite stack program, including all indexing, record layout, and loop control; the counter is unary.
theorem tabulate (hf : Feasible (pairCode ca unaryCode) cb f) : Feasible (pairCode unaryCode ca) (listCode cb) (fun a => (List.range a.1).map (fun i => f (a.2,i))) := by …Mentions: OAI.RationalHitting.StackLanguage.Feasible, OAI.RationalHitting.StackLanguage.pairCode, OAI.RationalHitting.StackLanguage.unaryCode, OAI.RationalHitting.StackLanguage.listCode
- class
OAI.RationalHitting.StackLanguage.Codingline 173Source documentation
Canonical storage format for the compositional finite-program proofs.
class Coding (A : Type) where …
- instance
OAI.RationalHitting.StackLanguage.(instance at line 177)line 177 - instance
OAI.RationalHitting.StackLanguage.(instance at line 178)line 178 - instance
OAI.RationalHitting.StackLanguage.(instance at line 179)line 179 - instance
OAI.RationalHitting.StackLanguage.(instance at line 180)line 180 - instance
OAI.RationalHitting.StackLanguage.(instance at line 181)line 181 - structure
OAI.RationalHitting.StackLanguage.Unaryline 183 - instance
OAI.RationalHitting.StackLanguage.(instance at line 186)line 186 - structure
OAI.RationalHitting.StackLanguage.BitWordline 188 - instance
OAI.RationalHitting.StackLanguage.(instance at line 191)line 191 - def
OAI.RationalHitting.StackLanguage.Polyline 195Source documentation
Polynomial time means a concrete finite clean stack program and actual step bound, through Procedure. It is not machine advice or an oracle.
@[fun_prop] def Poly {A B : Type} [Coding A] [Coding B] (f : A → B) : Prop := …Mentions: OAI.RationalHitting.StackLanguage.Coding
- theorem
OAI.RationalHitting.StackLanguage.Poly.idline 202 - theorem
OAI.RationalHitting.StackLanguage.Poly.constline 203 - theorem
OAI.RationalHitting.StackLanguage.Poly.compline 204 - theorem
OAI.RationalHitting.StackLanguage.Poly.pairline 206 - theorem
OAI.RationalHitting.StackLanguage.Poly.fstline 208 - theorem
OAI.RationalHitting.StackLanguage.Poly.sndline 209 - theorem
OAI.RationalHitting.StackLanguage.Poly.subtypeValline 210 - theorem
OAI.RationalHitting.StackLanguage.Poly.subtypeMkline 213 - theorem
OAI.RationalHitting.StackLanguage.Poly.of_eqline 217 - theorem
OAI.RationalHitting.StackLanguage.Poly.condline 220 - theorem
OAI.RationalHitting.StackLanguage.Poly.natAddline 224 - theorem
OAI.RationalHitting.StackLanguage.Poly.natMulline 225 - theorem
OAI.RationalHitting.StackLanguage.Poly.unarySuccline 227 - theorem
OAI.RationalHitting.StackLanguage.Poly.unaryAddline 229 - theorem
OAI.RationalHitting.StackLanguage.Poly.listConsline 232 - theorem
OAI.RationalHitting.StackLanguage.Poly.listSingletonline 233 - theorem
OAI.RationalHitting.StackLanguage.Poly.listAppendline 234 - theorem
OAI.RationalHitting.StackLanguage.Poly.wordAppendline 235 - theorem
OAI.RationalHitting.StackLanguage.Poly.tabulateline 238 - example
OAI.RationalHitting.StackLanguage.Poly.(example at line 245)line 245 - example
OAI.RationalHitting.StackLanguage.Poly.(example at line 246)line 246