set m = Load (halt SCMPDS);
A1:
(Load (halt SCMPDS)) . 0 = halt SCMPDS
by FUNCOP_1:72;
A2:
dom (Load (halt SCMPDS)) = {0}
by FUNCOP_1:13;
now let n be
Element of
NAT ;
for i being Instruction of SCMPDS st n in dom (Load (halt SCMPDS)) & i = (Load (halt SCMPDS)) . n holds
( InsCode i <> 1 & InsCode i <> 3 & i valid_at n )let i be
Instruction of
SCMPDS;
( n in dom (Load (halt SCMPDS)) & i = (Load (halt SCMPDS)) . n implies ( InsCode i <> 1 & InsCode i <> 3 & i valid_at n ) )assume that A3:
n in dom (Load (halt SCMPDS))
and A4:
i = (Load (halt SCMPDS)) . n
;
( InsCode i <> 1 & InsCode i <> 3 & i valid_at n )A5:
n = 0
by A2, A3, TARSKI:def 1;
hence
InsCode i <> 1
by A1, A4, SCMPDS_2:12, SCMPDS_2:81;
( InsCode i <> 3 & i valid_at n )A6:
ex
k1 being
Integer st
(
i = goto k1 &
n + k1 >= 0 )
thus
InsCode i <> 3
by A1, A4, A5, SCMPDS_2:12, SCMPDS_2:81;
i valid_at n
InsCode i = 0
by A1, A4, A5, SCMPDS_2:12, SCMPDS_2:81;
hence
i valid_at n
by A6, Def11;
verum end;
hence
Load (halt SCMPDS) is shiftable
by Def12; verum