2

I'm seeking explanation on how one could prove that models of computation are equivalent. I have been reading books on the subject except that equivalence proves are omitted. I have a basic idea about what it means for two models of computation to be equivalent (the automata view: if they accept the same languages). Are there other ways of thinking about equivalence? If you could help me understand how to prove that the Turing-machine model is equivalent to the lambda-calculus, that would be sufficient.

mrk
  • 3,061
  • 1
  • 29
  • 34

1 Answers1

1

To prove an model A is equivalent to model B you need to show that:

  1. Model A is not stronger then model B
  2. Model B is not stronger then model A

To show model X is not stronger then model Y one must prove:

For every machine from X, there exists a machine from Y such that L(M_X) = L(M_Y)

[where M_X and M_Y are different machines from each model respectively]

A common well known proves are:

  • DFA is equivalent to NFA
  • NFA is equivalent to NFA with epsilon moves
  • Multi tape turing machine is equivalent to one tape turing machine

More info on this subject can be read under Turing machine equivalents

Also note, the claim: the automata view: if they accept the same languages is not true.
You don't need to show the same automata accept the same language in both models.
You need to show that for each automata in A there is an automata in B such that L(M_A) = L(M_B) and vise versa

amit
  • 175,853
  • 27
  • 231
  • 333