feat(MultitapeTM): Prove an exponential upper bound in the number of configurations reachable in bounded space - #772
Conversation
…hable in bounded space.
|
#819 should be merged first, I'll update this one in a minute. |
|
This is now updated to the new definition of |
|
|
||
| /-- The part of a configuration that the machine can still read: the input head position together | ||
| with the `Storage`, i.e. the configuration without the write-only output tape. -/ | ||
| def Cfg.core (c : Cfg k Symbol State input) : |
There was a problem hiding this comment.
I don't how good the terms "Storage" and "Core". I don't see any standard name for specifically these stuff, so maybe just call them ore explicitely instead of assigning new terms?
There was a problem hiding this comment.
I think it's difficult for storage and I would say it's a good name because this is the part where the TM can store information. For core I kind of agree. What about accessibleMemory?
| open Cslib | ||
|
|
There was a problem hiding this comment.
| open Cslib |
| /-- The restriction is injective on storages that fit in the windows. -/ | ||
| lemma Storage.toBounded_injOn (w : Fin k → ℕ) : | ||
| Set.InjOn (Storage.toBounded (Symbol := Symbol) (State := State) · w) {x | x.FitsIn w} := by | ||
| rintro x ⟨hxp, hxc⟩ y ⟨hyp, hyc⟩ hxy |
There was a problem hiding this comment.
| rintro x ⟨hxp, hxc⟩ y ⟨hyp, hyc⟩ hxy | |
| rintro x ⟨_, _⟩ y ⟨_, _⟩ hxy |
|
|
||
| /-! ## The storage and the core of a configuration | ||
|
|
||
| Now we relate `Cfg` and `Storage` by givin the projection. |
There was a problem hiding this comment.
| Now we relate `Cfg` and `Storage` by givin the projection. | |
| Now we relate `Cfg` and `Storage` by giving the projection. |
Proves an upper bound on the number of configurations reachable in bounded space on a multi-tape TM.
The proof introduces the concept of
Storage, the projection ofCfgthat only contain the state and the work tapes. It shows that if the TM uses at mostsspace, there is an injection to a structure that only uses[-s, s]to index the tape.