OAI/Computability/RationalHitting/InputAdapter.lean
41 declarations, 0 contain sorry, 0 declared as axioms
Required reverse interface from a block-coded finite stack simulator to literal Fin4 output digits. All registers of this transducer are finite.
- abbrev
OAI.RationalHitting.TMTime.InputAdapter.Aline 7 - abbrev
OAI.RationalHitting.TMTime.InputAdapter.Qline 8 - abbrev
OAI.RationalHitting.TMTime.InputAdapter.Vline 9 - abbrev
OAI.RationalHitting.TMTime.InputAdapter.Cfgline 10 - abbrev
OAI.RationalHitting.TMTime.InputAdapter.Stmtline 11 - def
OAI.RationalHitting.TMTime.InputAdapter.rawline 13 - def
OAI.RationalHitting.TMTime.InputAdapter.bitline 14 - def
OAI.RationalHitting.TMTime.InputAdapter.jumpline 16 - def
OAI.RationalHitting.TMTime.InputAdapter.moveline 17 - def
OAI.RationalHitting.TMTime.InputAdapter.leftToline 18 - def
OAI.RationalHitting.TMTime.InputAdapter.writeBitsline 21 - def
OAI.RationalHitting.TMTime.InputAdapter.Mline 25 - lemma
OAI.RationalHitting.TMTime.InputAdapter.head₂line 50 - lemma
OAI.RationalHitting.TMTime.InputAdapter.right₂line 51 - lemma
OAI.RationalHitting.TMTime.InputAdapter.left₂line 53 - lemma
OAI.RationalHitting.TMTime.InputAdapter.write₂line 55 - lemma
OAI.RationalHitting.TMTime.InputAdapter.stepAux_writeBitsline 58 - lemma
OAI.RationalHitting.TMTime.InputAdapter.scan_rightline 71 - lemma
OAI.RationalHitting.TMTime.InputAdapter.scan_leftline 83 - lemma
OAI.RationalHitting.TMTime.InputAdapter.bit_ne_threeline 100 - lemma
OAI.RationalHitting.TMTime.InputAdapter.raw_ne_zeroline 101 - def
OAI.RationalHitting.TMTime.InputAdapter.stateline 103 - def
OAI.RationalHitting.TMTime.InputAdapter.invariantline 105 - lemma
OAI.RationalHitting.TMTime.InputAdapter.processline 108 - def
OAI.RationalHitting.TMTime.InputAdapter.emitline 179 - def
OAI.RationalHitting.TMTime.InputAdapter.costline 183 - lemma
OAI.RationalHitting.TMTime.InputAdapter.all_processline 188 - lemma
OAI.RationalHitting.TMTime.InputAdapter.emit_lengthline 200 - lemma
OAI.RationalHitting.TMTime.InputAdapter.cost_boundline 211 - lemma
OAI.RationalHitting.TMTime.InputAdapter.left_emptyline 232 - lemma
OAI.RationalHitting.TMTime.InputAdapter.clear_blanksline 235 - lemma
OAI.RationalHitting.TMTime.InputAdapter.scan_six_zeroline 245 - lemma
OAI.RationalHitting.TMTime.InputAdapter.enter_finishline 249 - lemma
OAI.RationalHitting.TMTime.InputAdapter.finishline 254 - lemma
OAI.RationalHitting.TMTime.InputAdapter.scan_zero_rawline 307 - lemma
OAI.RationalHitting.TMTime.InputAdapter.start_markersline 312 - lemma
OAI.RationalHitting.TMTime.InputAdapter.startline 317 - theorem
OAI.RationalHitting.TMTime.InputAdapter.prepareline 332Source documentation
Literal Fin4 raw input is physically erased; no hidden encoded-input precondition is used. The macrotransition charge is quadratic; TM1 compilation adds a fixed multiplicative constant for this one fixed adapter machine.
theorem prepare (code : Bool → Bool → List Bool) (B : ℕ) (hb : ∀ f x, (code f x).length≤B) (w : List Bool) (v : V) : ∃ t ≤ (4*B+12)*(w.length+1)^2, ∃ v', exec (TM1.step (M code)) t (⟨some 0,v,Tape.mk₁ (w.map raw)⟩ : Cfg)= some ⟨none,v',Tape.mk₁ ((emit code true w.reverse).map bit)⟩ := by …Mentions: OAI.RationalHitting.TMTime.InputAdapter.V, OAI.RationalHitting.TMTime.exec, OAI.RationalHitting.TMTime.InputAdapter.M, OAI.RationalHitting.TMTime.InputAdapter.raw, OAI.RationalHitting.TMTime.InputAdapter.Cfg, OAI.RationalHitting.TMTime.InputAdapter.emit, OAI.RationalHitting.TMTime.InputAdapter.bit
- lemma
OAI.RationalHitting.TMTime.InputAdapter.emit_falseline 357 - lemma
OAI.RationalHitting.TMTime.InputAdapter.stack_encodingline 363 - theorem
OAI.RationalHitting.TMTime.InputAdapter.raw_stack_inputline 386Source documentation
Real finite TM0 raw-input adapter, at quadratic bit cost, reaching exactly Mathlib's initial tape for the binary stack simulator, not an assumed encoding.
theorem raw_stack_input {K : Type} [DecidableEq K] (k : K) (b : ℕ) (enc : TM2to1.Γ' K (fun _ => Bool) → List.Vector Bool b) : ∃ (m : ℕ) (G : TM0.Machine A (Fin (m+1))) (C : ℕ), 0<C ∧ ∀ w : List Bool, w≠[] → ∃ t≤C*(w.length+1)^2, ∃ a : TM0.Cfg A (Fin (m+1)), exec (TM0.step G) t (TM0.init (w.map raw))=some a ∧ TM0.step G a=none ∧ a.Tape=Tape.mk₁ (((TM2to1.trInit k w).flatMap (fun z => (enc z).toList)).map bit) := by …Mentions: OAI.RationalHitting.TMTime.InputAdapter.A, OAI.RationalHitting.TMTime.exec, OAI.RationalHitting.TMTime.InputAdapter.raw, OAI.RationalHitting.TMTime.InputAdapter.bit