OAI/Computability/Superstring/Arithmetic.lean
70 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.Superstring.BitCode.Poly.mapFnline 15 - theorem
OAI.Superstring.BitCode.Poly.filterFnline 20 - theorem
OAI.Superstring.BitCode.Poly.subline 25 - theorem
OAI.Superstring.BitCode.Poly.leline 40 - theorem
OAI.Superstring.BitCode.Poly.ltline 45 - theorem
OAI.Superstring.BitCode.Poly.maxline 52 - theorem
OAI.Superstring.BitCode.Poly.minline 59 - theorem
OAI.Superstring.BitCode.Poly.mulline 68 - theorem
OAI.Superstring.BitCode.Poly.dropline 87 - theorem
OAI.Superstring.BitCode.Poly.takeline 102 - theorem
OAI.Superstring.BitCode.Poly.getDline 110 - theorem
OAI.Superstring.BitCode.Poly.eqFnline 124 - theorem
OAI.Superstring.BitCode.Poly.leFnline 128 - theorem
OAI.Superstring.BitCode.Poly.ltFnline 131 - theorem
OAI.Superstring.BitCode.Poly.anyBline 134 - theorem
OAI.Superstring.BitCode.Poly.allBline 146 - theorem
OAI.Superstring.BitCode.Poly.anyFnline 153 - theorem
OAI.Superstring.BitCode.Poly.allFnline 160 - theorem
OAI.Superstring.BitCode.Poly.memline 167 - theorem
OAI.Superstring.BitCode.Poly.memFnline 178 - theorem
OAI.Superstring.BitCode.Poly.sumline 182 - theorem
OAI.Superstring.BitCode.Poly.maxFoldline 193 - def
OAI.Superstring.BitCode.rangeStepline 204 - theorem
OAI.Superstring.BitCode.iterate_rangeStepline 206 - theorem
OAI.Superstring.BitCode.Poly.rangeline 218 - def
OAI.Superstring.BitCode.equalline 245 - def
OAI.Superstring.BitCode.lessline 246 - def
OAI.Superstring.BitCode.lessEqline 247 - theorem
OAI.Superstring.BitCode.Poly.equalline 251 - theorem
OAI.Superstring.BitCode.Poly.lessline 253 - theorem
OAI.Superstring.BitCode.Poly.lessEqline 254 - theorem
OAI.Superstring.BitCode.Poly.recodeline 257Source documentation
Output reinterpretation executes exactly the same bits, not a hidden function.
theorem recode {α β γ : Type} [Coded α] [Coded β] [Coded γ] {f : α → β} {g : α → γ} (hf : Poly f) (he : ∀ a, bits (g a) = bits (f a)) : Poly g := by …Mentions: OAI.Superstring.BitCode.Coded, OAI.Superstring.BitCode.Poly, OAI.Superstring.BitCode.bits
- theorem
OAI.Superstring.BitCode.Poly.inlline 264 - theorem
OAI.Superstring.BitCode.Poly.inrline 267 - theorem
OAI.Superstring.BitCode.Poly.headDWithline 270 - def
OAI.Superstring.BitCode.cappedStepline 279 - theorem
OAI.Superstring.BitCode.iterate_cappedStep_sizeline 282 - theorem
OAI.Superstring.BitCode.iterate_cappedStep_eqline 292 - theorem
OAI.Superstring.BitCode.Poly.cappedStepline 305 - theorem
OAI.Superstring.BitCode.Poly.cappedIterateline 311Source documentation
A genuine bounded-workspace loop. The clock and workspace cap are unary input data. Every attempted step is executed/charged before its size check.
theorem cappedIterate {α : Type} [Coded α] {f : α → α} (hf : Poly f) : Poly (fun p : ℕ × (ℕ × α) => ((Superstring.BitCode.cappedStep f)^[p.1] p.2).2) := by …Mentions: OAI.Superstring.BitCode.Coded, OAI.Superstring.BitCode.Poly, OAI.Superstring.BitCode.cappedStep
- def
OAI.Superstring.BitCode.uniqueStepline 324 - def
OAI.Superstring.BitCode.uniqueline 326 - theorem
OAI.Superstring.BitCode.mem_foldl_uniqueStepline 328 - theorem
OAI.Superstring.BitCode.nodup_foldl_uniqueStepline 336 - theorem
OAI.Superstring.BitCode.mem_uniqueline 347 - theorem
OAI.Superstring.BitCode.nodup_uniqueline 349 - theorem
OAI.Superstring.BitCode.Poly.uniqueline 354 - theorem
OAI.Superstring.BitCode.Poly.productline 372 - def
OAI.Superstring.BitCode.residueStepline 394 - theorem
OAI.Superstring.BitCode.iterate_residueStep_boundline 397 - theorem
OAI.Superstring.BitCode.iterate_residueStepline 406 - theorem
OAI.Superstring.BitCode.Poly.modline 425 - def
OAI.Superstring.BitCode.intViewline 442 - theorem
OAI.Superstring.BitCode.Parses.precompline 446 - instance
OAI.Superstring.BitCode.codedIntline 451 - theorem
OAI.Superstring.BitCode.Poly.intCasesline 464 - theorem
OAI.Superstring.BitCode.Poly.intCasesWithline 469 - theorem
OAI.Superstring.BitCode.Poly.ofNatline 479 - theorem
OAI.Superstring.BitCode.Poly.negSuccline 481 - theorem
OAI.Superstring.BitCode.Poly.toNatline 483 - theorem
OAI.Superstring.BitCode.Poly.natAbsline 484 - theorem
OAI.Superstring.BitCode.Poly.subNatNatline 491 - theorem
OAI.Superstring.BitCode.Poly.negIntline 499 - theorem
OAI.Superstring.BitCode.Poly.addIntline 504 - theorem
OAI.Superstring.BitCode.Poly.subIntline 521 - theorem
OAI.Superstring.BitCode.Poly.modIntNatline 526 - theorem
OAI.Superstring.BitCode.Poly.natCastIntline 537 - def
OAI.Superstring.BitCode.memberline 543Source documentation
Freeze the equality implementation at the abstract element type. Nested lists may otherwise elaborate different, extensionally equal BEq instances.
def member {α : Type} [DecidableEq α] (a : α) (xs : List α) : Bool := decide (a ∈ xs) - theorem
OAI.Superstring.BitCode.member_eqline 544 - theorem
OAI.Superstring.BitCode.Poly.memberline 547