Using an ATP to Prove a Turing Machines Destiny - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Using an ATP to Prove a Turing Machines Destiny

Description:

Algorithms exist to classify halters / non-halters. Where are the proofs? ... A new-millenium attack on the Busy Beaver problem. Draft. 2003. Selmber Bringsjord. ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 27
Provided by: jeffrey105
Category:

less

Transcript and Presenter's Notes

Title: Using an ATP to Prove a Turing Machines Destiny


1
Using an ATP to Prove a Turing Machines Destiny
  • Jeff Baumes
  • May 2, 2005

2
Motivation
  • Busy Beaver problem
  • Algorithms exist to classify halters /
    non-halters
  • Where are the proofs?
  • Can ATPs be leveraged to produce these proofs?
  • Of course, it is impossible in general
  • Can a proof be found in certain cases?
  • What cases?

3
Outline
  • Prior methods for detecting non-halters
  • Non-halter detection goal
  • Two approaches to encoding TMs in FOL
  • A single goal that can detect whether a TM is a
    halter or non-halter
  • Future directions

4
Existing loop detection methods
  • From code supplied by Joshua Taylor using Athena
  • 1-transition simple loop
  • read what's under the read head,
  • write the same symbol,
  • stay in the same place,
  • transition to the same state.

5
Existing loop detection methods
  • General simple loop
  • at two distinct times t1, t2,
  • the machine is in state q reading cell c,
  • The tape at t1 is identical to the tape at t2
  • Generalization of 1-transition simple loop
  • Came with comment seems logically correct, but
    it wont yet work in automation could be
    proved, but we're skeptical to whether theorem
    provers can do it.

6
Existing loop detection methods
  • 1-transition uniform tape loop
  • reads a symbol,
  • writes the same symbol,
  • moves in any direction,
  • transitions to the same state,
  • every cell on the tape contains the same symbol
  • This can be generalized to the case where the
    same state is reached at two different times with
    a uniform tape

7
Goal for non-halter detection
non-halters
1-transition uniform loop
1-transition simple loop
8
Assumptions
  • Two symbols (blank, one)
  • Bidirectional infinite tape, initially blank
  • Quadruple formalization of transitions (start
    state, read symbol blank / one, action left /
    right / write one / write blank, end state)
  • Each state has exactly 2 out-transitions
  • Explicit halt state

9
Explicit symbols
  • Based on Prof. Bringsjords lecture slides
  • Symbol on the tape is encoded in a predicate
    argument
  • (s 5 0 1) means at time 5 there is a blank at
    position 1 on the tape
  • Requires mutually exclusive conditions
  • (assert '(implies (s ?integer 0 ?integer1)
  • (not (s ?integer 1 ?integer1)))
  • (assert '(implies (s ?integer 1 ?integer1)
  • (not (s ?integer 0 ?integer1)))

10
Explicit symbol transition rules
  • (W ?state ?read-sym ?write-sym ?state1)
  • (R ?state ?read-sym ?state1)
  • (L ?state ?read-sym ?state1)

When at ?state reading a ?read-sym, write a
?write-sym and move to ?state1
When at ?state reading a ?read-sym, shift right
and move to ?state1
When at ?state reading a ?read-sym, shift left
and move to ?state1
11
Explicit symbol transition rules
  • (implies
  • (and
  • (R ?state ?sym ?state1)
  • (q ?time ?state ?pos)
  • (s ?time ?sym ?pos))
  • (and
  • (q (1 ?time) ?state1 (1 ?pos))
  • (implies (s ?time 0 ?pos1)
  • (s (1 ?time) 0 ?pos1))
  • (implies (s ?time 1 ?pos1)
  • (s (1 ?time) 1 ?pos1)))))

If there is a shift-right transition for a
certain state and symbol
and the TM is in that state, and the proper
symbol is on the tape
then we are in the corresponding state at the
next time step
and wherever there is a blank/one on the tape,
there is a blank/one at the next time step at the
corresponding position.
12
Explicit symbol simple loops
  • (implies
  • (and
  • (not ( ?integer ?integer1))
  • (q ?integer ?integer3 ?integer4)
  • (q ?integer1 ?integer3 ?integer4)
  • (implies
  • (s ?integer 0 ?integer2)
  • (s ?integer1 0 ?integer2))
  • (implies
  • (s ?integer 1 ?integer2)
  • (s ?integer1 1 ?integer2)))
  • (not (q ?integer5 -1 ?integer6)))

If there are two distinct times
and the TM is in the same state, at the same
position at both times
and the tape is identical at both times
then we have a simple loop, and the halt state
is never reached.
13
Implicit symbols
  • Since there are just two symbols, treat blank as
    true and 1 as false
  • (blank 5 1) means the same as (s 5 0 1)
  • (not (blank 5 1)) means there is instead a 1 at
    that time and position
  • Fewer arguments
  • Implicitly contains logic that there cannot be a
    blank and 1 at the same time and position

14
Implicit symbol transition rules
  • (B-B ?state ?state1)
  • (B-1 ?state ?state1)
  • (1-B ?state ?state1)
  • (1-B ?state ?state1)
  • (B-R ?state ?state1)
  • (1-R ?state ?state1)
  • (B-L ?state ?state1)
  • (1-L ?state ?state1)

On blank write blank On blank write 1 On 1 write
blank On 1 write 1
On blank shift right On 1 shift right
On blank shift left On 1 shift left
15
Implicit symbol transition rules
If there is a shift-right on blank transition for
a certain state
  • (implies
  • (and (B-R ?state ?state1)
  • (blank ?time ?pos)
  • (config ?time ?state ?pos))
  • (and (config (1 ?time) ?state1 (1 ?pos))
  • (iff (blank (1 ?time) ?pos1)
  • (blank ?time ?pos1))))
  • (implies
  • (and (1-R ?state ?state1)
  • (not (blank ?time ?pos))
  • (config ?time ?state ?pos))
  • (and (config (1 ?time) ?state1 (1 ?pos))
  • (iff (blank (1 ?time) ?pos1)
  • (blank ?time ?pos1))))

and the head is in that state and reading a
blank
then we are in the corresponding state at the
next time step
and there is a blank at the next time step iff
there was a blank in this time step
16
Implicit symbol simple loops
If there are two distinct times
  • (implies (exists ...
  • (and (lt ?time ?time1)
  • (config ?time ?state ?pos)
  • (config ?time1 ?state ?pos)
  • (forall (?pos1)
  • (iff (blank ?time ?pos1)
  • (blank ?time1 ?pos1)))))
  • (halt-type nonhalter-simple-loop))

and the TM is in the same state, at the same
position at both times
and the tape is identical at both times
then we have a simple loop, and the halt state
is never reached.
17
Implicit symbol uniform loops
If there are two distinct times
  • (implies (exists ...
  • (and (lt ?time ?time1)
  • (config ?time ?state ?pos)
  • (config ?time1 ?state ?pos1)
  • (forall (?pos2) (blank ?time ?pos2))
  • (forall (?pos3) (blank ?time1 ?pos3))))
  • (halt-type nonhalter-uniform-loop))

and the TM is in the same state, maybe at
different positions at both times
and the tape is uniformly blank at both times
then we have a uniform tape loop, and the halt
state is never reached.
Note Since the tape starts as all blank, the
tape MUST be all blank for this rule to work
18
Halt detection
If there is a time when the halt state is reached
  • (assert '(implies
  • (config ?time halt ?pos)
  • (halt-type halter))
  • name 'halter)

then we have a halting Turing Machine.
19
Generic halt / non-halt query
  • Other TM laws here
  • Loop / halt laws
  • (assert '(implies ... (halt-type
    nonhalter-simple-loop)))
  • (assert '(implies ... (halt-type
    nonhalter-uniform-loop)))
  • (assert '(implies ... (halt-type halter)))
  • TM description here
  • Single halt / non-halt query
  • (prove '(halt-type ?type)
  • answer '(ans ?type))

20
Non-halting TM examples
Key (explicit time, implicit time)
Simple 4-Cycle (1.2s 0.4s)
Moving 4-Cycle (0.3s 0.4s)
Simplest Loop (0.3s 0.4s)
Write 1 Cycle (0.3s 2.1s)
Complex Uniform Tape (12s)
Simple Uniform Tape (0.4s)
21
Halting TM examples
Halt 2 Steps (0.7s)
Halt 2 4-Cycles (257s)
22
(too) Complex example
Embedded Loop (gt 1000s)
23
Lessons learned
  • It is possible to encode TMs in FOL
  • ATPs do not think like people do
  • SNARK is finicky

24
To Do
  • Paper from Selmer describes more loop detection
    theory (uses string theory)
  • Implement at least one of these methods
  • Mention that this is new work since proofs are
    found
  • Construct my own proof of Embedded Loop, make
    more detailed
  • Final paper due May 12
  • Email URL with files needed

25
Possible future directions
  • Encode all this into a model-finder
  • Visualization
  • Encode all this in Athena
  • Prove the non-halting laws more fundamentally
    using induction
  • Better ways to encode TMs
  • More types of halter / non-halter detection
  • Meta-reasoning on failed attempts

26
References
  • Joshua Taylor. Personal communication, Athena
    code for Turing Machine logic. April 2005.
  • Kyle Ross. Use of optimisation techniques in
    determining values for the quadruplorum variants
    of Rados Busy Beaver function. Thesis. 2002.
  • Kyle Ross, Owen Kellett, Bram van Heuveln, Selmer
    Bringsjord. A new-millenium attack on the Busy
    Beaver problem. Draft. 2003.
  • Selmber Bringsjord. Toward logicizing holdouts.
    Presentation slides. March 2005.
  • Bram van Heuveln et al. Non-halters in the Busy
    Beaver problem. Presentation slides. April 2003.
Write a Comment
User Comments (0)
About PowerShow.com