OAI/Computability/Superstring/Encoding.lean
50 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.Superstring.BitCode.Steps.terminal_uniqueline 9 - theorem
OAI.Superstring.BitCode.Block.Exec.deterministicline 24 - theorem
OAI.Superstring.BitCode.Parses.separateline 30 - class
OAI.Superstring.BitCode.Codedline 46 - abbrev
OAI.Superstring.BitCode.bitsline 51 - abbrev
OAI.Superstring.BitCode.bitSizeline 52 - def
OAI.Superstring.BitCode.Polyline 54 - instance
OAI.Superstring.BitCode.codedBoolline 57 - instance
OAI.Superstring.BitCode.codedUnitline 62 - instance
OAI.Superstring.BitCode.codedNatline 67 - instance
OAI.Superstring.BitCode.codedProdline 76 - instance
OAI.Superstring.BitCode.codedListline 84 - theorem
OAI.Superstring.BitCode.bits_boolline 100 - theorem
OAI.Superstring.BitCode.bits_unitline 101 - theorem
OAI.Superstring.BitCode.bits_natline 102 - theorem
OAI.Superstring.BitCode.bits_prodline 103 - theorem
OAI.Superstring.BitCode.bits_nilline 105 - theorem
OAI.Superstring.BitCode.bits_consline 106 - theorem
OAI.Superstring.BitCode.bitSize_natline 108 - theorem
OAI.Superstring.BitCode.bitSize_prodline 109 - theorem
OAI.Superstring.BitCode.bitSize_nilline 111 - theorem
OAI.Superstring.BitCode.bitSize_consline 112 - theorem
OAI.Superstring.BitCode.length_le_bitSizeline 116 - theorem
OAI.Superstring.BitCode.Poly.idline 125 - theorem
OAI.Superstring.BitCode.Poly.constline 126 - theorem
OAI.Superstring.BitCode.Poly.compline 127 - theorem
OAI.Superstring.BitCode.Poly.pairline 129 - theorem
OAI.Superstring.BitCode.Poly.fstline 131 - theorem
OAI.Superstring.BitCode.Poly.sndline 132 - theorem
OAI.Superstring.BitCode.Poly.consline 133 - theorem
OAI.Superstring.BitCode.Poly.iteline 134 - theorem
OAI.Superstring.BitCode.Poly.iterateline 139 - theorem
OAI.Superstring.BitCode.Poly.output_sizeline 143 - def
OAI.Superstring.BitCode.sumCodeline 153 - theorem
OAI.Superstring.BitCode.Parses.sumline 157 - instance
OAI.Superstring.BitCode.codedSumline 190 - theorem
OAI.Superstring.BitCode.bits_inlline 203 - theorem
OAI.Superstring.BitCode.bits_inrline 205 - theorem
OAI.Superstring.BitCode.Poly.sumCasesline 210 - theorem
OAI.Superstring.BitCode.Poly.reencodeline 253Source documentation
Merely changing a typed view of the SAME input bits does not execute the view function. This is used only with an explicit encoding equality below.
theorem reencode {α β γ : Type} [Coded α] [Coded β] [Coded γ] {f : β → γ} (hf : Poly f) (r : α → β) (he : ∀ a, bits (r a) = bits a) : Poly (f ∘ r) := by …Mentions: OAI.Superstring.BitCode.Coded, OAI.Superstring.BitCode.Poly, OAI.Superstring.BitCode.bits
- theorem
OAI.Superstring.BitCode.Poly.listCasesline 263Source documentation
One-step list destructor, implemented only by the leading spine marker. The nonempty branch receives exactly the head followed by the encoded tail.
theorem listCases {α β : Type} [Coded α] [Coded β] (z : β) {f : α × List α → β} (hf : Poly f) : Poly (fun xs : List α => match xs with | [] => z | x :: xs => f (x, xs)) := by …Mentions: OAI.Superstring.BitCode.Coded, OAI.Superstring.BitCode.Poly
- theorem
OAI.Superstring.BitCode.Poly.tailline 273 - theorem
OAI.Superstring.BitCode.Poly.headDline 276 - theorem
OAI.Superstring.BitCode.Poly.isEmptyline 280 - def
OAI.Superstring.BitCode.Block.countBitsline 291 - theorem
OAI.Superstring.BitCode.Block.countBits_execline 293 - theorem
OAI.Superstring.BitCode.Poly.sizeline 316 - theorem
OAI.Superstring.BitCode.Poly.succline 334 - theorem
OAI.Superstring.BitCode.Poly.listCasesWithline 342 - theorem
OAI.Superstring.BitCode.Poly.natCasesWithline 356