set I = goto 0 ;
let W be Instruction of SCMPDS ; ( W is halting implies W = goto 0 )
assume A1:
W is halting
; W = goto 0
assume A2:
goto 0 <> W
; contradiction
per cases
( ex k1 being Integer st W = goto k1 or ex a being Int_position st W = return a or ex a being Int_position ex k1 being Integer st W = saveIC a,k1 or ex a being Int_position ex k1 being Integer st W = a := k1 or ex a being Int_position ex k1, k2 being Integer st W = a,k1 := k2 or ex a being Int_position ex k1, k2 being Integer st W = a,k1 <>0_goto k2 or ex a being Int_position ex k1, k2 being Integer st W = a,k1 <=0_goto k2 or ex a being Int_position ex k1, k2 being Integer st W = a,k1 >=0_goto k2 or ex a, b being Int_position ex k1, k2 being Integer st W = AddTo a,k1,k2 or ex a, b being Int_position ex k1, k2 being Integer st W = AddTo a,k1,b,k2 or ex a, b being Int_position ex k1, k2 being Integer st W = SubFrom a,k1,b,k2 or ex a, b being Int_position ex k1, k2 being Integer st W = MultBy a,k1,b,k2 or ex a, b being Int_position ex k1, k2 being Integer st W = Divide a,k1,b,k2 or ex a, b being Int_position ex k1, k2 being Integer st W = a,k1 := b,k2 )
by Th91;
end;