Satz: zu jedem goto-Programm gibt es ein äquivalentes while-Programm.
Beweis-Idee: 1 : A1, 2 : A2; ..  5: goto 7; .. 
⇒
while (true) {
  switch (pc) {
    case 1 : A1 ; pc++ ; break; ...
    case 5 : pc = 7 ; break; ... 
  }
}
Das nützt aber softwaretechnisch wenig, das übersetzte Programm ist genauso schwer zu warten wie das Original.